http本身无状态,说白了就是不保存任何用户信息。 所以引入cookie(客户端方案)、session(服务端方案)来保存用户信息:

这些信息通常包括什么,不能包括什么呢?

  : 1. 身份信息、登陆状态 2. 用户的个性配置、权限列表 3. 其他的一些通用数据(比如购物车)4 登录凭证, 权限 ?

  : session不适合保存比较多的信息,防止服务端压力过大。

   : 一般只存ID

   : 密码不宜放进session。 private transient String password; 且分布式项目的缘故。

session相关信息:

1 失效只能是超时或者invalidate(); 关闭浏览器不会删除服务端的session,但是可能会删除cookie保存 的sessionId。

2 session实现的‘记住我’并不安全。https://coolshell.cn/articles/5353.html。 记住我相当于自动查数据库。

  至于token为什么比sessionId安全,CSRF攻击的方式:被骗去点了个链接,被恶意的JS提交的等

3 一般都是用redis模拟session。

 

相关文章:

  • 2022-12-23
  • 2021-09-09
  • 2023-03-14
  • 2022-12-23
  • 2021-10-03
  • 2022-01-23
  • 2022-02-19
猜你喜欢
  • 2021-12-15
  • 2021-11-16
  • 2021-03-31
  • 2021-10-13
  • 2021-12-18
  • 2022-12-23
相关资源
相似解决方案