SSO统一身份认证——CAS Server6.3.x多组件共用配置(八)

SSO统一身份认证——CAS Server6.3.x多组件共用配置(八),第1张

单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录。当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统和应用软件的权限,同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。这种方式减少了由登录产生的时间消耗,辅助了用户管理,是目前比较流行的。

单点登录的使用场景有很多,C/S、B/S架构的系统均可使用,通常是支持快速配置使用。

业内目前实现SSO的方式有很多种,在ToC场景下互联网公司通常使用的是OAuth2协议,而ToB场景下大家通常是囊括百家,既支持OAuth2又支持CAS,还滴支持LDAP。其造成的原因主要是因为在ToB场景下需要对接SSO的系统通常仅支持某个协议,而这类系统又不是同一个协议导致。

而我当前境况下就是既有ToC场景又有ToB场景,在该种情况下,我开始对其业内的各种协议进行整合集成,这一系列文章将对其业内各个协议从基础到深入、从搭建到二次开发进行记录,同时将其整理出来分享给大家。

CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 耶鲁大学 (Yale University)发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的 单点登录 方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

其主结构由CAS Server、CAS Client两部分组成。下图为官方提供的结构图,大家可以作为参考进行理解。

补充:我进行翻阅了一些资料和科学上网上面论坛的 文章 ,发现我该节文章存在错误,特此对于大家进行补充说明:

${configurationKey} 属于文档中的快速替换标记,无法有效使用到配置文件中,无法做到公共属性使用。本节下面的 *** 作无效了,只能根据不同的组件替换${configurationKey}为文档中的标记。就如我们之前编写的那样。

例如:官方文档中Password encoding settings for this feature are available here under the configuration key casauthnfile 这时我们点击跳转后的位置中使用的${configurationKey}需要替换为casauthnfile进行使用。

随着我们对于CAS Server的深入研究,各类组件发现其都需要使用一些公共的配置,而这些公共的配置中还有部分的差异化,为了降低application-devproperties文件中配置的复杂性,我们去查阅了官方文档,并对其进行了更改,下面我们就以之前我们在第二节中的配置进行修改。

1、打开application-devproperties修改如下:

注:

2、在IDEA中的Terminal输入如下,进行编译

3、启动tomcat并进行访问测试,登录正常。

至此我们的配置变更完成,其中${configurationKey}开头的配置都是共用配置,至于哪些配置可以共用,可以参见 官方文档 进行查阅配置。

下一节,我们将利用公共配置,配置其他的组件来使用,欢迎大家持续关注。

  所以我们需要修改配置,使服务允许访问我们的CAS服务器,如下:

  修改完成之后,访问 >CAS认证流程图:
(1) 用户通过浏览器访问指定页面;

(2) 页面对应的后台进行安全校验:检查service-ticket和access token是否存在,若不存在,则 重定向 到CAS服务器 /cas/login/;

(3) CAS服务器要求用户提供SSO登录凭证;

(4) 用户提供用户名和密码给CAS服务器;

(5) CAS服务器将service ticket和 service URL返回给后台;

(6) 后台发送验证请求给CAS服务器检验service ticket和service URL是否匹配;

(7) 若后台得到service ticket和service URL匹配,返回前台浏览器,TGC一并存储到浏览器中;

(8) 浏览器访问指定页面;

CAS(Central Authentication Service,中央认证服务)令牌的过期时间可以在 CAS 服务器的配置文件中设置。默认情况下,CAS 令牌的过期时间为 2 小时。如果您的 CAS 令牌已经过期,那么您需要重新进行登录认证,重新获取有效令牌。
您可以按照以下步骤进行 CAS 登录认证和获取新令牌:
1 打开需要进行认证的应用程序或网站,并点击登录按钮。
2 该应用程序会自动跳转到 CAS 服务器的登录页面。
3 输入您的用户名和密码,进行身份认证。
4 CAS 服务器将验证您的身份,并自动生成一个新的令牌。
5 点击“继续”或“确认”按钮,将新令牌发送给应用程序进行验证。
6 您将被重定向回应用程序的主页或者您之前所浏览的页面。
如果您在使用 CAS 服务时遇到任何问题,建议您联系相关技术人员或者 CAS 服务提供商以获取更详细的帮助和支持。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10759390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-11
下一篇 2023-05-11

发表评论

登录后才能评论

评论列表(0条)

保存