【技术实现步骤摘要】
一种session获取方法
[0001]本专利技术涉及数据处理
,特别涉及一种
session
获取方法
。
技术介绍
[0002]shiro
作为一个
Java
安全框架,提供了会话管理的功能
。session
称为会话,在负载均衡多个
web
实例的情况下,需要让
shiro
支持
session
的共享,目前行业内多采用
redis
作为共享
session
的存储器,采用的方案有两种:第一种是定制
shiro
的
SessionManager(session
管理器
)
的
sessionDAO
;第二种是采用
spring redis session
直接把
web
容器的
session
代理
。
[0003]在利用基于
shiro
的
spring redis session
的方案时,
spring redis session
将
web
容器的
session
代理后,只要
web
容器发生尝试获取
session
的动作,若当前请求没有
session
,那将会创造
session
...
【技术保护点】
【技术特征摘要】
1.
一种
session
获取方法,其特征在于,包括以下步骤:
S10
:建立过滤器
springSplitRedisSessionFilter
,其中,所述过滤器
springSplitRedisSessionFilter
继承了过滤器
springRedisSessionFilter
;
S20
:在通过过滤器
springSplitRedisSessionFilter
获取用户请求的请求头的
referer
的值和获取用户请求的
url
中的
.html
结尾或
.do
结尾后,利用
springRedisSessionFilter
生成
HttpServletRequest
接口类型对象和
HttpServletResponse
接口类型对象的代理,得到包装器
SessionRepositoryRequestWrapper
和包装器
SessionRepositoryResponseWrapper
,然后通过包装器
SessionRepositoryRequestWrapper
得到
spring redis session
代理后的
session。2.
根据权利要求1所述一种
session
获取方法,其特征在于,所述步骤
S20
包括:通过过滤器
springSplitRedisSessionFilter
获取用户请求的请求头,判断请求头中是否有
referer
的值;若否,则不用
springRedisSessionFilter
生成
HttpServletRequest
接口类型对象和
HttpServletResponse
接口类型对象的代理;若是,则判断用户请求的
url
是否以
.html
或
.do
结尾;若否则不用
springRedisSessionFilter
生成
HttpServletRequest
接口类型对象和
HttpServletResponse
接口类型对象的代理;若是则使用
springRedisSessionFilter
去生成
HttpServletRequest
接口类型对象和
HttpServletResponse
接口类型对象的代理
。3.
根据权利要求2所述一种
session
获取方法,其特征在于:在所述步骤
S20
后,还包括步骤
S30
和步骤
S40
;步骤
S30
包括:建立序列化和反序列化的工具
SpringSessionShiroSerializer
;步骤
S40
包括:利用序列化...
【专利技术属性】
技术研发人员:李宝君,何玉华,
申请(专利权)人:全通金信控股广东有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。