ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

web中的session和shiro中的session

2020-11-25 22:58:59  阅读:183  来源: 互联网

标签:web getSession 管理器 request 获取 session shiro


转载自:https://www.cnblogs.com/OnlyCT/p/8391274.html
在shiro使用过程中,我们是可以调到httpSession对象的,调用方式即为shiro获取session的方法。

(1)controller中的request,在shiro过滤器中的doFilterInternal方法,将被包装为ShiroHttpServletRequest 。

(2)在controller中,通过 request.getSession(_) 获取会话 session ,该session到底来源servletRequest 还是由shiro管理并管理创建的会话,主要由 安全管理器 SecurityManager 和 SessionManager 会话管理器决定。

(3)不管是通过 request.getSession或者subject.getSession获取到session,操作session,两者都是等价的。在使用默认session管理器的情况下,操作session都是等价于操作HttpSession。

它们获取session的方法:

servlet通过request获取session

Session session = request.getSession();
shiro获取session

Subject currentUser = SecurityUtils.getSubject();
Session session = currentUser.getSession();
如果自己想做一个简单的论证,shiro获取的session值是不是httpSession中的?其实很简单,shiro框架搭好后,在controller层得到session对象,存入一个值,然后在service层用shiro调用session,取出值,看是否是刚存入httpsession的值即可。

标签:web,getSession,管理器,request,获取,session,shiro
来源: https://blog.csdn.net/MuCchang/article/details/110149987

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有