思路
超时登出功能实现:
cookie与session的协同工作,通过session_id标识唯一用户
可以通过两方面实现自动登出功能:
1、cookie下手(切断客户端浏览器与服务器端的session联系),
更容易的操作选择还是对cookie的操作,只需要设置好cookie的生命周期就可以了,而session信息可以一直保留在服务器当中,这么做的最大好处是简单高效,而且节省服务端的计算资源,cookie是否处于生命周期内是由前端的浏览器进行判断的,而不是消耗后端的服务资源,后端也无需设置定时器监控它
2、session下手(切断session端,在服务端将用户的信息进行删除,与客户端的关联便会切断)
实现
在.env文件中设置,session_id在cookie中的过期时间
# 生存时间为120分钟
SESSION_LIFETIME=120
注意:客户端通过每次刷新网页,请求的服务器每次会返回一个新的session_id重新设置一个cookie,从而更新cookie的生存时间,每次刷新时都会延长cookie的生命周期,只要用户一直操作就会一直处于登录的状态,直到用户不再进行操作,cookie过期后自动登出用户