shiro怎么获取sessionmanager
答案:2 悬赏:20 手机版
解决时间 2021-01-04 22:40
- 提问者网友:美人性情
- 2021-01-04 01:34
shiro怎么获取sessionmanager
最佳答案
- 五星知识达人网友:一袍清酒付
- 2021-01-04 02:52
SessionManager是在应用程序中为所有Subject提供Session的管理,包括创建,删除,失效及验证等。同其的核心组件一样,SessionManager 也是一个由SecurityManager 维护的顶级组件。
在Shiro中默认提供了一个SessionManager的实现DefaultSessionManager。DefaultSessionManager 提供一个应用程序所需的所有企业级会话管理。可以在任何应用程序中使用。
如果想自定义一个SessionManager,可在Shiro.ini中配置。例如:
[main]
…
sessionManager = com.foo.my.SessionManagerImplementation
securityManager.sessionManager = $sessionManager
在系统中SessionManager 可以通过JavaBean 风格的getter/setter 方法获取或设置(getSessionManager()/setSessionManager())。
在Shiro中默认提供了一个SessionManager的实现DefaultSessionManager。DefaultSessionManager 提供一个应用程序所需的所有企业级会话管理。可以在任何应用程序中使用。
如果想自定义一个SessionManager,可在Shiro.ini中配置。例如:
[main]
…
sessionManager = com.foo.my.SessionManagerImplementation
securityManager.sessionManager = $sessionManager
在系统中SessionManager 可以通过JavaBean 风格的getter/setter 方法获取或设置(getSessionManager()/setSessionManager())。
全部回答
- 1楼网友:舍身薄凉客
- 2021-01-04 03:10
技术分析: 1、首先如果登录成功,shiro的defaultwebsessionmanager会默认通过如下方式添加jsessionid cookie到响应: 查看复制到剪贴板打印 private void storesessionid(serializable currentid, httpservletrequest request, httpservletresponse response) { if (currentid == null) { string msg = "sessionid cannot be null when persisting for subsequent requests."; throw new illegalargumentexception(msg); } cookie template = getsessionidcookie(); //此处得到jsessionid的一个cookie模板 cookie cookie = new simplecookie(template); string idstring = currentid.tostring(); cookie.setvalue(idstring); cookie.saveto(request, response); log.trace("set session id cookie for session with id {}", idstring); } 2、如果客户端访问时会带着个cookie回来;但是注意:容器不认识的(web容器并没有真正创建httpsession);shiro默认情况下会生成自己的一套session,默认是memorysessiondao;即放到内存中的;和web容器没有任何关系; 3、 接着访问一个错误的页面(如jsp);此时到了shiro过滤器,过滤器通过;然后最后forward到这个错误页面;大家应该知道默认情况下jsp页面是需要session的;所以此时jsp会调用request.getsession() 此时创建了一个session;这会往cookie写jsessionid的;
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
正方形一边上任一点到这个正方形两条对角线的 |
阴历怎么看 ? |