多体系使用CAS实现SSO登录案例

手机软件开发 2024-9-19 13:56:20 6 0 来自 中国
前面已经解说过多体系SSO实现的方案:
多体系使用共享session实现SSO登录案例 - 简书 (jianshu.com)
Spring Security实现OAuth2.0——授权服务 - 简书 (jianshu.com)
一、CAS简介

实现SSO有很多种方案,比力简朴且可行的一样平常都是如上两种再加上CAS,一样平常企业内部多个体系之间假如想实现SSO,比力保举的方式就是本日要先容的CAS,Central Authentication Service,中心身份认证服务。
CAS方案重要包罗如下两个部分:

  • CAS Server,作为认证服务的中心,须要单独摆设;
  • CAS Client,指须要单点登录的各个体系,官方支持10+范例的客户端;
如下是一个多体系完备举行CAS SSO的流程:

  • 欣赏器起首访问体系1的时候,体系1判断其未登录(没有局部会话),因此重定向到SSO认证中心,认证中心也没有当前欣赏器的全局会话,因此返回登录页面给欣赏器要求登录;
  • 欣赏器登录乐成后,认证中心会生存该欣赏器用户的全局会话,后续该用户再通过别的体系来SSO认证中心认证时,会将全局会话的JSESSIONID带给认证中心,认证中心就能知道该用户如今具有全局会话,是已登录状态;
  • 认证中心创建一个暂时的授权令牌给到体系1,该令牌具偶然间有效期,且只能使用一次,体系1收到该令牌后,由于无法判断是否被伪造,因此须要再次哀求认证中心校验。得到认证乐成回复后,体系1就会给当前用户创建一个局部会话,在该局部会话未逾期之前,用户再次访问体系1都不须要再到认证中心举行认证;
  • 若欣赏器用户此时访问别的体系2,体系2判断其未登录(没有局部会话),因此重定向到SSO认证中心,并带上第二步生存的全局会话JSESSIONID,认证中心判断用户已经登录,因此创建一个暂时的授权令牌给到体系2,体系2再举行步调3的内容。
然后是SSO注销的一个流程:
2.png 二、CAS实现

2.1 CAS Server

服务端在官方github地点上有现成的war包可供使用,直接下载即可,由于最新版本的依靠管理工具已经从maven改为gradle了,本人由于更加熟悉maven,因此没有选择最新版本,而是使用5.3版本。下载之后解压即可。
在解压缩后的目次中实行打包下令build.cmd package,就能在target目次下看到war包了,将该cas.war放在本地的tomcat的webapps目次下,启动tomcat即可。
此时访问本地tomcat服务http://localhost:8080/cas就能看到登录页面了。
默认的账密为:casuser/Mellon,该暗码的配置在如下目次内WEB-INF\classes\application.properties,如需修改暗码须要自行修改tomcat中解压后的如下文件内容。
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 22:37, Processed in 0.175371 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表