登录
javaweb中如何去维持登录状态
1.登录后 信息放入 session中
2.页面内验证session中是否有登录信息
3.如果有,不需要再次登录
4.如果没有,跳转登录页面
5.如果登录后点击注销,删除session中登录信息,并清除页面缓存(必要的)
javaweb中哪些情况我们的session会过期
1.过期-->很长时间没有去访问网站
2.主动关闭-->用处注销
3.切换浏览器
手机端如何维持登录状态
- 通过sessionKey/tokenKey
相关疑问
- sessionKey/tokenKey哪里来?
- 登录成功之后,后台返回.
- sessionKey/tokenKey生成有什么规则?
- 后台返回的,按照一定规则生成的(比如可以随机数生成一个24位以上的字符串)
- 登录成功返回的sessionkey/tokenKey存到哪里?
- 保存到sp中就可以了
- sessionkey/tokenKey使用场景
- 有些协议需要用到登录信息,就需要看登录状态,就需要用到sessionkey/tokenKey,比如
支付协议
;
- 有些协议需要用到登录信息,就需要看登录状态,就需要用到sessionkey/tokenKey,比如
- 如何使用sessionkey/tokenKey?
- 需要登录状态,判断sp中是否有sessionkey/tokenKey?
- 有:那当前是已登录状态,就把个人信息和sessionkey/tokenKey上传到服务器;
- 没有:跳到登录界面,让用户登录
- 需要登录状态,判断sp中是否有sessionkey/tokenKey?
谁去判断sessionkey/tokenKey是否过期?
- 任何协议把sessionkey/tokenKey传到服务器.服务器会判断sessionkey/tokenKey是否过期?
- 过期:告知客户端,登录状态已过期,需要重新登录
- 未过期:可以使用当前的登录信息,继续走逻辑;
- 任何协议把sessionkey/tokenKey传到服务器.服务器会判断sessionkey/tokenKey是否过期?
为什么判断是否过期需要后台做?
- 因为前端可以修改当前时间?
- sessionkey/tokenKey多久过期?
- 这个具体看公司,有的公司用一周,有的半个月
- 后台如何去判断sessionkey/tokenKey是否过期?–>拓展
- 分配sessionkey/tokenKey的时候记录时间
- 判断是否存在对应的sessionKey:如果不存在,是不是直接就是无效.
是的直接无效 - 某一时刻,用户判断sessionkey/tokenKey是否过期的时候,拿着当前时间和sessionkey/tokenKey分配时间做比较
- 大于指定时间:过期
- 没有大于指定时间:未过期