###Session-based authentication
####Session定义:
参考https://dzone.com/articles/broken-authentication-and-session-management-part
Session将用户信息将服务器端保存,服务器会生成Session d,通常,浏览器会将Session id 作为cookie储存并发送到服务器。
基于session身份认证方案
参考资料:https://www.cnblogs.com/xiangkejin/p/9011007.html
- 浏览器发送登录请求,post了用户名和密码
- 服务器端从将密码加密,并从数据库中读取对应数据进行数据校验
- 校验通过后,服务器保存session到本地session文件中,文件命名通常为sessionid
- 服务器将返回session返回并保存再cookie中
- 下次发送请求时,带上有session id 的cookie
- 服务器端根据 sessionid匹配当前已存在的sessionid
- 匹配到后返回响应的信息
Session 失效
Session失效,登录状态丢失的几种原因:
- Session 过期
- 服务器重启或者中断
- 浏览器没有启用cookies