По умолчанию Flask использует летучие сессии, что означает, что cookie сеанса истекает, когда браузер закрывается. Чтобы использовать постоянные сеансы, в которых будет использоваться файл cookie с определенной датой истечения срока действия, следует установить session.permanent = True
, как это указано в этом вопросе, и истечение срока действия дата будет установлена на основе config['PERMANENT_SESSION_LIFETIME']
.
Я удивлен, что время жизни сеанса определено в файле конфигурации, но невозможно запросить использование постоянных сеансов через конфигурацию, например config['USE_PERMANENT_SESSION'] = True
. Но так будет.
Мой вопрос: если вы хотите постоянных сессий, то какое место лучше их определить? Является ли это функцией @app.before_request
, предложенной в упомянутом вопросе? Но это будет означать, что это нужно снова при каждом запросе? Кажется, что когда-то установлено, session.permanent
остается верным до конца сеанса.
Постоянные сеансы обычно используются после входа в систему, поэтому, возможно, лучше всего их запросить при обработке login_user()
? Как лучше всего использовать летучие сеансовые куки для всех анонимных страниц и переключиться на постоянные сеансы, выполнив session.permanent = True
при регистрации?
И может потребоваться установить другое время жизни в зависимости от того, является ли это обычным cookie session
или cookie remember_me
. Какой был бы лучший способ достичь этого?