`
yupengcc
  • 浏览: 135181 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

CAS工作流程

阅读更多
CAS3.0的工作流程:
0.app将用户转发到CAS处, 并将自己的url作为callback参数传给CAS.
1.CAS验证用户成功(authentication)
2.生成用户实体(principal)
3.CAS在TicketRegistry中加入一张新ticket
4.CAS将新加入的这张ticket作为ticket-granting ticket发给用户
5.从该用户处得到一张ticket-granting ticket(其实就是上面发给用户的那张)(validation)
6.拿到这张ticket后,CAS去检查TicketRegistry中是否有这张票对应的注册
7.如果有,那么就在TicketRegistry中加入另一张新的ticket_1.
8.将ticket_1作为service ticket伴随着calback URL将用户转发到app
9.app将刚接受到的service ticket转回CAS,要求确认这张票的真实性.
10.CAS拿到service ticket后检查TicketRegistry中是否对应着有这张票的注册.(validation)
11.如果有返回"yes"和用户netID给app, app象用户提供服务.
关于CAS的定制方法:
大家都知道了,cas其实是一个独立的webapp, 在WEB-INF中的deployerConfigContext.txt文件是所有CAS deployer应该关心的东西,在这里,你可以对CAS的三个核心玩意进行自己的定制:
1.AuthenticationManager
他的任务只有一个"验证操作" - authentication, 可以看看javadaoc来参考一下,上面是写的很明了的.
想要定制自己的AuthenticationManager的话,就动手实现这个接口吧.不过一般来说,CAS自带的实现已经够用啦!
2.credentialsToPrincipalResolvers
这是一个能将credentials转换成principal的转换器的列表, 列表中,主要是些根据不同种类的credential来使用的不同转换类型的转换器,如果你有你自己特有的一种credential的话,那就自己动手做有个能将这个credential转换为principal的转换器吧。制作完成后记得把它添加到这个列表中!现在说说什么是credential,什么是principal,在CAS验证一个credential成功后,需要将一个credential转换为一个principal, 这是符合常理的,credential其实只是表示一个"介绍信",而principal则表示一个已经参与到"工作"中的实体.
3.authenticationHandlers
注意啦,这个authenticationHandler可是所有CAS用户都需要修改的地方啊!authenticationHandler其实就是这个真真正正落实验证业务的"业务员"!CAS自带了一个测试用的username和password的"业务员",这个小同志只是简单的检查你输入的 username(也就是那个netID)和password是不是一对相等的字符串(比如NetID = aa, password = aa),如果是,就判定你登陆成功.可是这么简单的业务当然不能满足你的需求,你的需求也许包括了需要通过检索数据库来比配credential中的 username和password,也可能不是数据库,而是LDAP什么的,总之你得开始制作自己的handler了!credential的种类是很多的,有的基于用户名和密码,有的基于http请求,如果你有你自己的credential的话,就得为它制作有一个handler,来告诉CAS如何处理这种特有的credential。制作完成后记得将它加入这个列表。
分享到:
评论

相关推荐

    cas核心流程图

    1. **服务请求**:当用户尝试访问受CAS保护的服务(如一个网站或应用程序)时,服务会重定向用户到CAS服务器进行身份验证。 2. **CAS登录页面**:用户被引导至CAS的登录页面,需要输入用户名和密码。如果这是用户的...

    CAS单点登录Demo

    在本文中,我们将深入探讨CAS单点登录的基本原理、工作流程以及如何通过提供的Demo进行实践操作。 **CAS基本原理** CAS的核心思想是用户只需在一个应用系统中验证身份,之后访问其他所有支持CAS的应用系统时都不再...

    cas sso server page

    3. CAS工作流程: - 用户首次尝试访问受保护的应用。 - 应用系统发现用户未认证,重定向用户到CAS服务器的登录页面。 - 用户提交用户名和密码,CAS服务器验证这些凭证。 - 验证成功后,CAS生成TGT,并通过安全...

    Yelu 大学 cas 单点登录

    CAS工作流程主要包括以下步骤: 1. 用户尝试访问受保护的应用。 2. 应用服务器重定向用户到CAS服务器进行身份验证。 3. 用户在CAS服务器上输入凭证(如用户名和密码)。 4. CAS验证用户凭证,如果成功,则生成一个...

    CAS 协议 票据、url介绍,包括cas1.0和cas2.0

    CAS 协议的工作流程可以分为以下步骤: 1. 用户请求访问应用程序 2. 应用程序重定向用户到 CAS 服务器的 `/login` URL 3. CAS 服务器验证用户的身份,并颁发 TGT 4. 用户将 TGT 发送到 CAS 服务器的 `/...

    cas4.2.7服务端和客户端应用

    **二、CAS 工作流程** 1. 用户打开服务提供者应用,被重定向到 CAS Server。 2. 用户在 CAS Server 输入用户名和密码。 3. CAS Server 验证凭证,如果成功,则生成一个票据(Ticket)并返回给用户。 4. 用户将票据...

    cas认证原理[参考].pdf

    3. **CAS工作流程** - **TGC(Ticket-Granting Cookie)**:CAS服务器在用户成功认证后,会发送一个TGC到客户端浏览器,作为后续认证的凭证。 - **KDC(Key Distribution Center)**:在Kerberos协议中,KDC负责...

    基于Cas的单点登录实现

    **Cas工作流程** 1. **预认证阶段**:用户尝试访问应用A,但由于未登录,被重定向到CAS服务器。 2. **登录请求**:用户在CAS服务器上输入用户名和密码。 3. **服务验证**:CAS服务器验证用户凭证,如果成功,生成一...

    CAS集成demo

    ### CAS工作流程 1. **登录请求**:用户尝试访问一个受CAS保护的资源。 2. **重定向**:该资源的服务器会将用户重定向到CAS服务器的登录页面。 3. **身份验证**:用户在CAS服务器上输入凭证,如用户名和密码。 4. *...

    cas-server-4.0.0.rar

    4. CAS工作流程: - 用户尝试访问服务提供商。 - 服务提供商重定向用户到CAS服务器进行身份验证。 - 用户在CAS服务器上输入凭证,如果验证通过,CAS服务器生成一个服务票据(Service Ticket)。 - 用户带着服务...

    CAS 单点登录,tomcat配置SSL,及资源

    **CAS 工作流程** 1. 用户尝试访问第一个受保护的应用系统。 2. 应用系统发现用户未登录,重定向到CAS服务器的认证页面。 3. 用户在CAS服务器上输入用户名和密码进行登录。 4. CAS服务器验证用户信息,如果成功,则...

    cas_server

    2. CAS工作流程: - **首次登录**:用户尝试访问服务提供商时,会被重定向到CAS服务器进行身份验证。 - **身份验证**:用户在CAS服务器上输入用户名和密码,成功后CAS服务器生成服务票证(ST)。 - **服务验证**...

    CAS单点登录(SSO)服务端自定义认证+CAS客户端配置+CAS完整使用文档+CAS4.2.7 cas-serv服务端源码 cas-client客户端源码

    CAS客户端是与CAS服务器通信的应用程序,负责用户的登录、登出以及票证验证。压缩包中包含的文档将指导你如何配置CAS客户端,包括在Spring或Web.xml中添加必要的配置项,设置服务URL,以及处理TGT(Ticket Granting...

    CAS restful接口调用

    ### CAS Restful接口调用详解 ...以上便是通过RESTful接口实现CAS票据获取与验证的基本流程。在整个过程中,需要注意的是请求URL、请求参数以及请求头的正确设置,这些细节将直接影响到最终的结果。

    cas-overlay-template-5.3_11111111111111_

    5. **票证管理**:理解TGT(Ticket Granting Ticket)和ST(Service Ticket)的工作原理,以及它们如何在客户端和服务器之间传递,是理解CAS工作流程的关键。 6. **安全性与日志**:确保CAS服务器的安全性,如SSL/...

    php版cas验证程序

    CAS(Central Authentication Service)是一种基于Web的单点登录(Single Sign-On, SSO)协议,主要...同时,理解CAS协议的工作原理,例如了解代理票证(Proxy Ticket)的概念,可以帮助你更深入地定制和扩展CAS功能。

    cas4.1.x集成 cas4.1.x集成

    cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x集成cas4.1.x...

    cas4.2.7 实现其他系统和cas互相认证互信

    CAS(Central Authentication Service)是一种基于Web的单一登录(Single Sign-On, ...文件"cas-4.2.7-自定义登录"可能包含了关于如何自定义CAS登录界面或认证流程的详细指南,这对于实现特定需求的互信认证尤其有用。

    开源phpCAS程序

    开源phpCAS程序

    H3C CAS应用HA操作指南.pdf

    * 准备Apache Tomcat应用程序:需要准备Apache Tomcat应用程序来测试H3C CAS应用HA系统。 * 配置应用HA策略:需要配置应用HA策略来确保应用程序的高可用性。 * 验证Apache Tomcat应用HA:需要验证Apache Tomcat应用...

Global site tag (gtag.js) - Google Analytics