大家好最近有点乱,session理解:web项目比如存储用户信息到session,每个人获取自己的登录信息,是根据sessionid判断的吗?比如:request。setAtt(“user”,user);每个客户端都能获取自己的信息,是通过sessionid唯一获取吗?shiro中的session与web session是同一个对象,shiro获取当前用户是通过他是如何唯一获取的?
1 回答
![?](http://img1.sycdn.imooc.com/545861e40001199702200220-100-100.jpg)
精慕HU
TA贡献1845条经验 获得超8个赞
request.setAttr(name, value) 是与session无直接关系的,它是将值设置在request对象里面的map、无需经过session来存储。
正确来说,如果你想把已登录的用户设置到session,那么上面这个request.setAttr()并不能实现你想要的,正确应该是session.setAttr()!
默认情况下,客户端请求过来都是通过 sessionid 来标示身份的,服务端是通过 sessionid 来获取Session 实例,Shiro 也是类似。
都是通过HTTP请求 request.getHeader("sessionId")获得 sessionId,然后检查sessionId的有效性,获取session 对象。
- 1 回答
- 0 关注
- 447 浏览
添加回答
举报
0/150
提交
取消