首页 > flask-login,用户在关闭浏览器后,在打开浏览器,用户还是在登录状态。

flask-login,用户在关闭浏览器后,在打开浏览器,用户还是在登录状态。

我用的是flask-login,在用户未退出的情况下关闭浏览器后,再打开浏览器,输入系统地址,用户还是在登录状态,@login_required并没有起作用,这是为什么?

还有,在关闭当前登录后的系统标签页,新建标签页,输入系统地址用户还是登陆状态,按照文档使用@fresh_login_required会跳转到登录页面,但是并没有,这又是为是么呢?

还有怎样才能设置会话超时呢?

求大神指导!!!!


设置permanent_session_lifetime
http://flask.pocoo.org/docs/0.10/api/#flask.Flask.permanent_session_lifetime


1.第一个问题,你可能用了“记住我”功能login_user(user,remember=True),一个 cookie 就会存储在用户的电脑上,再次访问,Flask-Login 会自动从那个 cookie 上恢复用户 ID。用户处于登录状态,@login_required自然就会通过。

2.第二个问题,要区分什么叫“用户活跃”官方文档说得很清楚了

当用户登入,他们的会话被标记为“活跃”,这表明他们确实在那个会话中通过验证。
当他们的会话被销毁且他们使用“记住我”,用cookie重新登入,它会被标记为“非活跃”。 login_required 并不区分这两种状态,这对于大多数页面已经足够了。
但像更改某人的个人信息这样的敏感操作应需要一个活跃的登入。(像修改密码这样的操作总是需要密码,无论是否重登入。)fresh_login_required,除验证用户登入外,也会确保用户的登入是活跃的。

【热门文章】
【热门文章】