我已经使用flask-login进行了身份验证,但是似乎无论我在flask中使用什么cookie持续时间,会话仍然是经过身份验证的。我是否为flask-login正确设置了配置变量?我试过了
app.REMEMBER_COOKIE_DURATION = datetime.timedelta(seconds=30)
app.config["REMEMBER_COOKIE_DURATION"] = datetime.timedelta(seconds=30)即使我关闭浏览器,等待一段时间,然后点击一个应该受到保护的url,我仍然可以访问它。这与this issue with chrome?有关吗?如果我清除了我的cookies,我会得到预期的登录页面。所有这些让我认为cookie超时没有得到尊重。
另外,PERMANENT_SESSION_LIFETIME在flask中做什么?
发布于 2012-12-12 20:19:19
REMEMBER_COOKIE_DURATION用于“记住我”功能,也就是说,即使登录的用户关闭了浏览器,也可以记住多长时间。为此使用单独的cookie,其名称可以由REMEMBER_COOKIE_NAME (默认情况下为remember_token)设置。要强制登录会话在一段时间后过期(即使浏览器仍在运行),请在保存应用程序设置的位置设置PERMANENT_SESSION_LIFETIME:
PERMANENT_SESSION_LIFETIME = datetime.timedelta(minutes=30)在您的登录视图中设置session.permanent = True
from flask import session
@app.route('/login')
def login():
# ...
if login_user(user):
session.permanent = True
return redirect(request.args.get('next') or url_for('index'))
# ...https://stackoverflow.com/questions/13831251
复制相似问题