写点什么

CAS 单点登录协议:让用户体验更便捷的身份验证方式

作者:权说安全
  • 2024-02-26
    江苏
  • 本文字数:1717 字

    阅读完需:约 6 分钟

CAS单点登录协议:让用户体验更便捷的身份验证方式

前言


之前我们说到统一身份认证平台之SSO建设”对组织建设的价值和建设思路,知道了通过实施统一身份管理解决方案,能够简化用户管理、降本增效、并加强安全性。对于员工来说,给予一套单一的凭证(如账号密码),就可以使其访问多个权限内的应用系统,也就是说员工只需要输入一套用户名和密码,就可以访问 OA、邮箱、HR、CRM 等所有工作相关的应用系统。那么本次我们就以 CAS 单点登陆协议为例,让大家了解这个过程是如何实现的,它的原理又是什么。


CAS 原理介绍


统一认证服务(CAS)是一种开放、简单且完备的身份验证协议。该协议是客户端、服务器与浏览器的三方约定,是大家都必须遵守的规则。我们把用户访问业务的流程做个简单的比喻,如下图:



你去某单位食堂吃饭,食堂打饭的阿姨发现你是第一次来打饭,并且没有带饭票,这时候阿姨会告诉你,不收现金,并且让你去门口找换票的(passport.com)换小票。于是你到门口完成身份认证和记录以后拿到饭票,再去找食堂阿姨,食堂阿姨拿着你的票去找换票的查询饭票的真伪,得到饭票是真的答复后,于是就给你打饭了。


当然了,现实访问业务的过程中,我们会分为几种情况,如:第一次访问业务、第二次访问业务、访问其他业务。


第一次访问业务


如果把这个流程转换成我们访问业务的流程,那么就会有如下对应关系:

● 食堂阿姨→你要访问的业务资源

● 门口换票的→统一认证中心

● 饭票的流转过程→cas 协议的认证过程

所以转换后的第一次访问业务的流程就变为:

第一步:用户访问 abcd.com,过滤器判断用户是否登录。

第二步:过滤器检测到用户没有登录,则重定向到http://passport.com认证中心。

第三步:重定向到 passport.com 后,用户输入用户名密码通过认证中心的验证,随后 passport.com 将用户登录的信息记录到认证中心的 session 中。

第四步:passport.com 给浏览器发送一个特殊的凭证。

第五步:浏览器将凭证交给 www.abcd.com。

第六步:www.abcd.com 的过滤器会取到凭证的值,然后通过 http 方式调用 passport.com 验证该凭证是否是有效的,从而判断用户是否登录成功。

第七步:验证凭证有效,www.abcd.com 接收到认证中心的返回结果,知道了用户合法,展示相关资源到用户浏览器上,完成访问。



第二次访问业务


如果再次访问 abcd.com 会发生什么呢,我们这时候要了解一个名词,那就是 Session。

什么是 Session 呢,在计算机中,尤其是在网络应用中,称为“会话控制”。Session 对象存储特定用户会话所需的属性及配置信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

所以这时候如果用户第二次访问 abcd.com,通过使用在 session 中记录的用户信息,因此直接就可以通过了,不用验证了。


访问 xyz.com


那么如果用户这时候再访问 xyz.com 会发生什么呢,也就是你去另一个阿姨那边打饭会发生什么?

这时候另一个阿姨发现你是第一次来,依然会让你去找门口换票的,但是这时候,你已经在认证中心认证过了,也就是换票的那边已经存储有你的相关对应信息了,会直接通过之前颁布凭证的信息查询关联关系,找到根票据 TGT,然后通过根票据 TGT 重新给你颁布一个针对 xyz,com 的“饭票”,也就是小令牌,这样你就能拿着重新颁发的小令牌访问 xyz,com 了,xyz,com 依然会再次向认证中心认证验证令牌是否有效,再得到验证有效的结果后,就会让用户通过资源访问请求,返回内容了。至此,CAS 登录的整个过程就完毕了。


总结


CAS 单点登录协议作为一种简单而高效的身份验证解决方案,为用户提供了更便捷、更安全的登录体验。通过引入中心化认证服务器和基于票据的认证机制,CAS 协议实现了用户在多个应用系统间的单一登录,极大地简化了用户的登录流程,提高了系统的安全性和可靠性。在当前信息化建设的背景下,CAS 协议必将发挥越来越重要的作用,成为各种类型应用的理想选择,为用户带来更加便捷和安全的在线体验。

当然了,除了 CAS 还有很多其他应用非常广泛的 SSO 协议,不同的协议的适用场景、优势都有不同,CAS 相对于其他协议来说相对简单,易于理解和实现,并且它的工作流程清晰,由于协议本身的简洁性,可以更快地部署和集成到现有的应用程序中,特别适用于需要在多个应用程序之间实现单一登录的场景,这也是导致它大面积被使用的重要特点。

用户头像

权说安全

关注

专注零信任、网络安全 2022-04-28 加入

公众号【江苏易安联】【易安联安全云】

评论

发布
暂无评论
CAS单点登录协议:让用户体验更便捷的身份验证方式_身份认证_权说安全_InfoQ写作社区