1 Star 0 Fork 3

shaojava / ssoAuth

forked from ddz / ssoAuth 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

输入图片说明

关键对象: DistributedSession(分布式Session): 实现了 HttpSession, Serializable两个接口。期中实现HttpSession是为了接管每次请求会话Session;自定义session的id用于多应用共享此Session的标示,在地址重定向中以token=XX的方式传递,在请求中以headers(ihome-token,XXX)方式传递,在应用内部以Cookie方式存储,存储变量为SHARE_SESSIONID;实现Serializable是为了,能够将对象与Redis交互,也就是能够存储到内存数据库Redis中。对象中定义了关键属性distributedSessionManager(接口),用于实现对象与Redis的管理(也就是本地Session与redis存储中的对象redis的同步操作,期中是否有变化是以对象唯一性也就是对象的HashCode是否相等来辨别【本地session对象和redis中存储的session对象】)

DistributedSessionRequest(分布式请求request):继承了HttpServletRequestWrapper

用于接管每次请求的Request,也就接管了request对Session的操作。关键属性有DistributedSessionManager接口,用于request对session的同步和创建管理;distributedSession ,本次请求所持有的Session对象。 关键过滤器: DistributedSessionFilter(分布式过滤器):拦截每次请求,将本地的Request交由分布式DistributedSessionRequest 接管,关键属性DistributedSessionManager接口,将容易session的管理接口注入到分布式DistributedSessionRequest中用于当前分布式DistributedSessionRequest对其拥有的分布式DistributedSession进行管理和同步。

ShareSessionFilter(共享Session过滤器):用于每次请求对分布式Session同步标示ID管理。
LogoutProcessFilter(登出过滤器):用于登出时,清楚本地的DistributedSession和redis服务中的DistributedSession对象。
CompositeFilter(过滤器链):用于将配置的过滤器进行队列势加载,以便顺序执行。从而,保证分布式DistributedSessionFilter的执行时在权限过滤器执行之前执行,从而在分布式系统在权限判断前同步redis中匹配的分布式DistributedSession对象。
CrossOriginFilterBean(跨域访问过滤器):用于在跨域请求时针对不同环境设置的支持跨域请求的特殊参数。

空文件

简介

为了适应SOA分布式跨服务(简单可以说是多个JVM)实现一次登入,多应用共享和管理SESSION的方式,对SESSION相关管理和装饰抽取到一个工程,用于多应用的引用。 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/esoft/ssoAuth.git
git@gitee.com:esoft/ssoAuth.git
esoft
ssoAuth
ssoAuth
master

搜索帮助