单点登录3 手撕代码模拟CAS实现单点登录

Posted 健康平安的活着

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单点登录3 手撕代码模拟CAS实现单点登录相关的知识,希望对你有一定的参考价值。

一  工程概况

1.1 介绍

该模拟工程实现了子系统登录后,其他系统免登陆,在系统中注销,全部注销的功能,目前还有点小问题未实现:

访问子系统A,进行登录。

访问认证中心1,免密登录。

重新打开一个新的访问,访问认证中心2:免密登录。

在子系统A进行,注销,跳转到认证中心登录页面。刷新认证中心1页面,跳转到认证中心登录页面,再刷新认证中2的页面,无法实现注销,刷新页面后而是提示是否重复之前的表单信息提交,进行重新的登录操作。需要点击认证中心页面的注销才能跳转到登录页面。

工程结构图:

 1.2 工程实现单点逻辑

1.2.1 单点登录

1.2.2 单点退出

单点退出:

手动式:每个客户端退出按钮会通过接口认证中心的退出接口,然后触发session的销毁。

还需要自动检测: 这里使用了监听器,当满足触发条件后,监听器执行销毁方法,将map存储的token,session存储token进行清空,同时调用各个客户端的退出接口,即通知各个客户端进行session销毁。

 二  部署操作

2.1 部署

2.1.1 某宝client

1.生成warb包:

 2.选择项目

 

 

 2.1.2 某猫

1.生成war包

 2.选择项目

  2.1.3 认证中心

认证中心的操作与上面操作步骤一致。不再赘述。

 2.2 测试

2.2.1 准备

1.需要在电脑的host文件进行配置域名:

 

2.服务全部启动

3.页面

认证中心

 2.某猫系统

 3.某宝

2.2.2 在某宝登录后:

 刷新某猫页面:

 刷新认证中心:

 2.2.3 在某猫退出:

 2.刷新某宝页面:

 3.刷新认证中心页面

搜索单点登录 - 艾编程 - Java构架师进阶,Java程序员进阶学习,Web前端入门到精通学习大全教程 - Powered By EduSoho

代码地址: https://gitee.com/jurf-liu/sso-server.git

以上是关于单点登录3 手撕代码模拟CAS实现单点登录的主要内容,如果未能解决你的问题,请参考以下文章

CAS单点登录示例

discuz x2怎么实现cas单点登录?

CAS单点登录原理分析(一)

单点登录CAS使用记:使用maven的overlay实现无侵入的改造CAS

CAS-5.3单点登录/退出客户端搭建(Springboot)

关于CAS实现单点登录