session与shiro session理解

樱木花道VS康 发布于 2018/07/07 11:25
阅读 744
收藏 1

大家好最近有点乱,session理解:

web项目比如存储用户信息到session,每个人获取自己的登录信息,是根据sessionid判断的吗?

比如:request。setAtt(“user”,user);

每个客户端都能获取自己的信息,是通过sessionid唯一获取吗?

shiro中的session与web session是同一个对象,shiro获取当前用户是通过

SecurityUtils.getSubject().getPrincipal();

他是如何唯一获取的?

加载中
0
红薯官方
红薯官方

request.setAttr(name, value) 是与session无直接关系的,它是将值设置在request对象里面的map、无需经过session来存储。

正确来说,如果你想把已登录的用户设置到session,那么上面这个request.setAttr()并不能实现你想要的,正确应该是session.setAttr()!

默认情况下,客户端请求过来都是通过 sessionid 来标示身份的,服务端是通过 sessionid 来获取Session 实例,Shiro 也是类似。

都是通过HTTP请求 request.getHeader("sessionId")获得 sessionId,然后检查sessionId的有效性,获取session 对象。

樱木花道VS康
樱木花道VS康
谢谢,我描述错了,request。getsession。setA
返回顶部
顶部