单点登录(SSO)实战

2018-08-13  本文已影响0人  Abe_XIAOYI

项目顺利上线,但是需要增加系统模块,但是要分离主系统,又要实现一站式登录,于是搜了好多资料,很多都是用Cookies+Redis+Session或Tomcat+session+nginx方式实现,我两种都尝试了,但是运用到项目选择了第一种,在此做个笔记及和大家分享;

1.运用技术:Cookies+Redis+Session  

2.实现思路:

   2.1  登录系统查询用户信息,登录成功,生成唯一的标识和封装需要的对象;

   2.2  把唯一标识作为(Key)和封装的对象(Value)存储到Redis中并且把key存储到cookies中;

   2.3  成功操作以上步骤后,我们并可以在跳转的项目中取到cookies中存储的(key);

   2.4  取到key以后,我们到redis取到对应的值;

   2.5  取到以后,可以直接转换成你想要的格式即可(即存到session中);

以上就是实现思路,具体代码和操做可以根据项目调整;我是根据目前的项目实现的;

 3. 运用技术:Tomcat+session+nginx

4.实现思路:

      4.1 这个坑很多,首选配置tomcat的content.xml文件;

      4.2 配置之后你就可以复制两份Tomcat,记得改端口号;    

     4.3 其实做到上面你的tomcat就可以实现基本的共享了,就是可以获取到同一个sessionId;

     4.4 但是部署项目之后,你会发现不可以共享,所以这里就需要nginx做桥梁实现;

     4.5 还要注意一点就是tomcat的集群和单项目模式,有点复杂,需要花点力气;

基于本次项目及个人实战,还是选择第一种比较好。勇于分享,才会进步和找到志同道合的人,一直努力的小一!!

上一篇 下一篇

猜你喜欢

热点阅读