通过网上查找了许多SSO的资料,几乎都是天下文章一大抄,并且也没有一个真正用于实际项目的讲解。没办法,只能从http://www.ja-sig.org/products/cas下载了服务端JAR和客户端JAR及相应的一些E文资料。再结合网上的一些文章,了解了SSO的流程如下:
1、用户浏览受系统保护的URL。
2、WEB-A服务端收到请求,Filter拦截该请求,在Filter中判断该用户是否已经登陆,如果已经登陆,就直接进入系统,否则,将请求转发到CAS服务端的LoginURL。
3、在LoginURL中会获取到用户的Cookie,检验用户是否已经在其他相关使用SSO的系统登陆成功。如果已经在其他的系统登陆了,则将请求转回WEB-A,并且带回一个ticket,WEB-A再次发送请求到ValidateURL。否则,系统提示用户输入ID和PASSWORD。
4、提交后请求到ValidateURL,CAS验证ticket的有效性。然后返回结果给WEB-A。如果ticket有效,则WEB-A应让该用户浏览受保护的资源。否则,重定向到登陆页面,提示用户输入ID和PASSWORD。
5、校验ID和Password是否匹配。如不匹配,再次要求用户输入ID和PASSWORD。否则,CAS记录用户登陆成功。并向浏览器回送Cookie,记录用户已经登陆成功。如果浏览器不支持Cookie,则无法实现单点登陆。
附1:CAS认证流程(懒得画了,直接从网上找了一张图片,从第2步开始就是了,^_^)。
附2:有些浏览器拒绝不信任的站点写入Cookie,则WEB-A服务器可以配置P3来实现。
分享到:
相关推荐
1. **CAS简介**:解释CAS的基本原理,它的架构,以及为什么它是实现SSO的理想选择。 2. **SSO概念**:阐述SSO的工作机制,如何通过共享身份验证状态在多个应用间提供无缝登录体验。 3. **CAS服务器安装与配置**:...
CAS框架是实现SSO的一种方式,它由耶鲁大学发起并维护,支持多种语言和平台。CAS服务器负责验证用户的凭证,而客户端则负责与服务器交互并处理用户的登录和登出过程。 在.NET环境中,开发CAS SSO客户端需要对.NET ...
CAS客户端则部署在需要保护的应用服务器上,它负责引导用户到CAS服务器进行认证,接收和验证服务器返回的认证票据,以及实现SSO的逻辑。在这个版本中,客户端可能包含以下组件: 1. **过滤器**:在应用的Web容器中...
spring boot整合spring security 实现SSO单点登陆 完整DEMO. ...2、先后启动SsoServer、sso-resource、sso-client1、sso-client2 3、访问http://sso-taobao:8083/client1/ 或 http://sso-tmall:8084/client2/
1. **CAS协议原理**: CAS协议通过代理票据(Proxy Ticket)和服务票据(Service Ticket)机制,确保用户只需要在CAS服务器上验证一次身份,之后便可以在已集成CAS的服务之间自由跳转,无需重复登录。这大大提高了...
5. **过滤器集成**:在Web应用中,CAS客户端通常通过HTTP过滤器来实现SSO逻辑。 在实际部署和使用过程中,开发者需要根据应用环境配置CAS服务器和客户端的相关参数,例如服务URL、认证源、Ticket验证策略等。同时,...
同时,确保它可以正确地与你想要保护的Spring Boot应用进行交互,实现SSO登录。 6. **自定义CAS服务**: 如果需要,你可以创建自定义的认证和授权模块,比如集成LDAP、数据库或者其他身份验证源。这可以通过编写Java...
CAS(Central Authentication Service)是 Yale 大学开发的一个开源项目,它提供了实现SSO的标准框架。CAS 通过统一的身份验证接口,简化了用户对多个应用系统的身份验证过程,提高了用户体验并增强了安全性。 在这...
CAS(Central Authentication Service)是一种广泛使用的开源单点登录(Single Sign-On, SSO)框架,它允许用户通过单一的登录验证访问多个应用系统,无需在每个系统上单独登录。这个版本可能是针对Liferay 6.0.5...
2. **SSO功能**:CAS的核心功能是实现单点登录,即用户只需要一次登录,就可以访问所有集成到CAS的受保护应用。这通过票据验证协议(Ticket Granting Ticket, TGT)和服务票据(Service Ticket, ST)来实现。 3. **...
CAS(Central Authentication Service)是一种广泛使用的开放源代码的单点登录(Single Sign-On,简称SSO)系统,它允许用户通过一个认证入口访问多个应用系统,而无需在每个系统上分别进行登录。在这个压缩包中,...
# sso-shiro-cas spring下使用shiro+cas配置单点登录,多个系统之间的访问,每次只需要登录一次 ## 系统模块说明 1. cas: 单点登录模块,这里直接拿的是cas的项目改了点样式而已 2. doc: 文档目录,里面有数据库...
CAS 是一个开源的身份验证框架,主要用于实现单一登录(Single Sign-On, SSO)服务,广泛应用于教育、研究和其他组织,提供用户访问多应用时的统一身份验证。 **CAS 概述** CAS 是一种基于 Web 的协议,它允许用户...
CAS(Central Authentication Service)是一种广泛使用的开放源码身份验证框架,它允许用户通过单一登录(Single Sign-On,SSO)访问多个应用系统。在本文中,我们将深入探讨"cas-overlay-template-6.1 服务端代码...
CAS(Central Authentication Service)是 Yale 大学开发的一个开源项目,主要用于实现单点登录(Single Sign-On, SSO)。它是一个基于Web的认证协议,旨在简化用户对多个应用系统的访问管理,通过一次登录即可访问...
CAS(Central Authentication Service)是基于Java的开源身份验证框架,主要功能是实现单点登录(Single Sign-On,SSO)。CAS服务器是整个系统的中心,负责处理用户的认证请求,而CAS客户端则集成到各个需要保护的...
描述中的“CAS实现SSO单点登录”意味着CAS的主要功能就是提供SSO服务。它通过代理认证协议(Proxy Authentication Protocol)和票证验证协议(Ticket Validation Protocol)来实现这一目标。用户在首次登录CAS服务器...
CAS的`overlay`概念允许开发者在不修改CAS核心代码的情况下,通过覆盖默认配置和视图来实现自定义。你可以添加自己的Web安全控制、认证模块、主题等。 **测试与调试:** 集成完成后,可以通过CAS客户端(如浏览器...
1. CAS基础概念: - **单点登录**:用户只需登录一次,就能访问所有相互信任的应用系统,简化了用户的登录流程。 - **服务提供商(Service Provider)**:需要集成CAS的外部应用,它们依赖CAS进行用户身份验证。 ...
CAS(Central Authentication Service)是一种基于Web的单点登录(Single Sign-On, SSO)协议,广泛应用于企业、教育和组织的认证系统。标题中的"cas-client-3.2.1"和"cas-server-3.4.11"分别指的是CAS客户端和...