`
wangyugod
  • 浏览: 19048 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

CAS应用流程简介

    博客分类:
  • Java
阅读更多
Wiki上的定义:
The Central Authentication Service (CAS) is a single sign-on protocol for the web.

应用场景:单点登陆做为认证服务器

流程图


具体步骤如下:
1. 用户通过URL访问Application,CAS Filter(需要在Application中配置)检测到用户没有登陆,通过一个https的URL来到CAS Server的登陆界面,此时URL中以service为参数名保存了之前尝试访问的url地址,如https://casserver:8443/server?service=http://localhost:myapp....;

2. 用户输入loginID和password, CASServer对用户进行认证,如果认证失败,Application就收不到该请求;

3. 如果认证成功,会将用户请求redirect到目标Application,并在请求的URL后边加上?ticket=......,如上图中的http://localhost//myapp?ticket...,这个ticket为ST(service ticket),与这次请求的service进行绑定;同时CAS会创建一个保存在内存中的Cookie----Ticket Granting Cookie(与Kerberos TGT一样),也可以认为是TGT,用于重复认证:如果该用户再次访问某个Application,TGT如果已经存在,就不需要重新登陆;

4. Application收到了来自用户的带有ST的请求,会将该ST和service name作为参数发送到CAS指定的一个validate的URL处(该URL为安全连接,https),如上图的第6步,https://localhost/cas/validate?ticket...;CAS会validate这个ST是否合法,并且与service是否匹配,如果验证通过,就允许用户调用该service,并将该用户的用户名返回给Application。

在单点登陆中所集成的各个Web Application子系统统一使用CAS进行认证,使子系统与认证这一块完全分离,只需要对Ticket进行解析获取相应的用户就行了,并且可以实现跨域访问,使用Cookie不能跨域。
  • 大小: 8.9 KB
分享到:
评论

相关推荐

    cas核心流程图

    CAS的核心流程涉及多个步骤,为用户提供了一种安全、集中化的验证机制,使得用户只需登录一次,就能访问多个相互信任的应用系统。 在CAS的核心业务流程中,主要有以下几个关键步骤: 1. **服务请求**:当用户尝试...

    CAS restful接口调用

    #### 一、CAS简介 CAS(Central Authentication Service)是一种开源的单点登录协议和服务实现。它旨在减轻单一Web应用的登录流程,并为多个服务提供一个集中式的认证机制。CAS支持多种认证协议,包括但不限于...

    CAS认证登录简单介绍

    总的来说,CAS提供了一个强大而灵活的框架,实现了单点登录,简化了用户登录流程,同时也加强了企业级应用的安全性。随着网络安全威胁的不断增长,像CAS这样的认证解决方案变得越来越重要,对于维护企业信息安全和...

    CAS实现不同应用展示不同的登录页

    首先,理解CAS的基本工作流程至关重要。当用户尝试访问受CAS保护的应用时,如果用户尚未登录,他们会被重定向到CAS服务器的登录页面。在这里,用户输入他们的凭证,如用户名和密码。一旦验证成功,CAS会生成一个服务...

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

    CAS 是一个开源的身份验证框架,它允许用户通过单一登录(Single Sign-On, SSO)在多个应用系统间自由切换,无需重复登录。CAS4.2.7 版本是 CAS 的一个稳定版本,提供了更安全、可扩展的认证和授权功能。 **一、CAS...

    CAS Protocol 3.0 Specification.docx 官方中文版教程详解

    它的主要目的是在用户访问多个应用程序时,只需向中央CAS服务器提供一次凭证,如用户名和密码,从而简化身份验证流程。CAS协议有多个版本,包括1.0、2.0和3.0,其中3.0是较为成熟和功能完善的版本。 **关键术语** ...

    CAS单点登陆配置手册

    自2004年12月正式成为JA-SIG(Joint Architecture for Shared Systems - Interoperability and Governance)的一个项目以来,CAS已经广泛应用于各种企业级应用和服务中。 CAS的特点主要包括: - **开源的企业级单点...

    cas单点登出的3个类

    它会检查HTTP请求中的特定参数,如`logoutRequest`,如果发现则触发登出流程,清除本地会话,并可能通过HTTP POST请求将登出消息传递给其他CAS客户端。 3. **HttpClient.java**:这是Apache HttpClient库中的核心类...

    sso cas server原始代码

    通过深入研究这些原始代码,开发者可以了解SSO CAS服务器的工作原理,学习如何自定义认证流程,优化性能,或者开发新的功能。同时,对于那些需要为自己的企业或组织搭建SSO系统的IT专业人员来说,这是一个宝贵的资源...

    struts2+cas单点登陆例子

    总结一下,Struts2+CAS的单点登录集成涉及到的主要知识点包括:CAS的工作流程、Struts2框架的拦截器机制、Web应用的过滤器配置以及安全认证的实现。通过这个简单的示例,开发者可以学习如何在自己的项目中实施SSO,...

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

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

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

    CAS 协议 票据、url 介绍,包括 cas1.0 和 cas2.0 CAS 协议是一个基于 HTTP 的协议,分为两部分:票据(Ticket)和 URL。CAS 协议的主要目的是提供单点...CAS 协议的应用场景广泛,可以应用于各种身份验证和授权场景。

    cas4.0.7+casClient示例(原生)

    CAS 4.0.7简介** CAS 4.0.7是CAS服务器的一个稳定版本,它提供了认证、授权和票证验证等核心功能。此版本支持多种协议,如CAS 2.0/3.0、SAML 1.1和OpenID。CAS服务器可以通过服务注册中心管理各个应用的接入,允许...

    cas sso server page

    总结来说,CAS SSO服务器是实现单点登录的关键组件,它简化了多应用系统的身份验证流程,提升了安全性。理解并掌握CAS的工作原理和配置,能帮助我们有效地管理和维护SSO环境,为用户提供便捷且安全的访问体验。

    cas-client-2.0.11.zip_cas client_cas-clie_cas-client-2._java CAS

    5. **集成应用**:将CAS客户端集成到Java应用中,通常需要修改Web应用的web.xml配置,添加CAS过滤器和监听器,确保在用户访问受保护的页面时能够触发SSO流程。 6. **安全性**:CAS客户端提供了一种安全的身份验证...

    cas集成AD域

    在客户端应用中,需要配置CAS客户端库,以处理CAS的登录流程,包括重定向用户到CAS服务器进行登录,以及解析返回的票据。 5. **测试和调试**:完成配置后,可以通过测试登录流程来检查集成是否正确。如果一切正常,...

    CAS单点登录Demo

    CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,SSO)框架,主要用于解决多个应用系统间的身份认证问题。在本文中,我们将深入探讨CAS单点登录的基本原理、工作流程以及...

    cas整合实例

    CAS(Central Authentication Service)是一种广泛使用的开放源代码单点登录(Single Sign-On,SSO)框架,主要用于实现网络应用的统一身份验证。本实例将详细阐述如何进行CAS整合,帮助你理解并实施这一过程。 ...

    cas自定义登录页面

    3. **认证流程**:当用户尝试访问一个受CAS保护的应用时,会被重定向到CAS服务器的登录页面。输入用户名和密码后,CAS服务器会验证这些凭据。验证成功后,服务器会生成一个Ticket Granting Ticket(TGT),这是一个...

Global site tag (gtag.js) - Google Analytics