当前用的 flask,flask-login,flask-session
1,flask-login 为实现 remember me 功能,登录时给一个 token 存在 cookie 里,设置一个 cookie 过期时间。
2,服务端使用 redis 存 session,也有设置一个过期时间
有一个问题就是如果 remember me 的过期时间比 session 久的话,session 的过期时间就没有效果了 比如把 remember me 设置一天, 服务器 session 过期时间设置 2 小时( 2 小时没有请求,就强制登出),但不操作 2 小时以后再请求,服务器 flask-login 直接就用 remember me 的 token 登录了,相当于 session 的过期时间就失效了。
所以我想问,这两个过期时间分别设置多久比较好?当前只能设置成两个过期时间一样,来达到需求,还是说一般这种都是设置成一样的?
1
fcten 2018-05-21 10:37:15 +08:00
如果只使用 cookie 就可以完成登录,session 就没有作用
如果想要使用 session 控制登录状态,在使用 cookie 登录的过程中就必须校验 session |
2
mzmxcvbn OP @fcten 仔细想想好像是这么回事,用 cookie 登录时验证 session 的话,cookie 过期时间就没有效果了,看来要么就把 remember me token 的过期时间设置的比 session 过期时间短,要么就设置成一样的,才能实现两个需求
|
3
lfzyx 2018-05-21 11:05:41 +08:00
为什么要同时用 cookie 和 session ?
|
6
zjengjie 2018-05-21 13:03:02 +08:00
如果发现 token 没有过期,就自动创建一个新 session 不就可以了?
|