针对上篇所提的问题
1:假设有A、B两个应用程式,现在在浏览器窗口1输入对A应用程式的请求,会跳转到cas login窗口身份验证;身份验证完成后跳转会A应用程式请求页面
2:在窗口2输入对B应用程式请求,还会需要身份验证
3:在窗口1修改URL为对B应用程式的请求,不需求身份验证
首先为什么在同一个窗口修改URL就可以对B应用程式请求而不需要身份验证
通过查看edu.yale.its.tp.cas.client.filter.CASFilter源码可以发现有这么一段
HttpSession session = ((HttpServletRequest) request).getSession();
// if our attribute's already present and valid, pass through the filter chain
CASReceipt receipt = (CASReceipt) session.getAttribute(CAS_FILTER_RECEIPT);
if (receipt != null && isReceiptAcceptable(receipt)) {
log.trace("CAS_FILTER_RECEIPT attribute was present and acceptable - passing request through filter..");
fc.doFilter(request, response);
return;
}就是说如果在session里已存在有效的CASRecipt就不再需要身份验证。
那如何解决不同窗口的问题;通过查看CAS SSO原理可以发现,当CAS SERVER验证通过后向client传递ST的时候也同时向USER浏览器里传递一个TGC cookies;初步判定是因为找不到这个cookies导致的问题。具体SSO原理可看“SSO原理”这篇文章
查找cookies:在cas server的cas-servlet.xml里
<bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
p:cookieSecure="true"
p:cookieMaxAge="-1"
p:cookieName="CASTGC"
p:cookiePath="/cas" />这是传送cookies到user端的bean,其中cookieMaxAge的意思是:Use the given maximum age (in seconds) for cookies created by this generator. Useful special value: -1 ... not persistent, deleted when client shuts down(没持久化)
cooliePath的意思:Use the given path for cookies created by this generator. The cookie is only visible to URLs in this path and below.
摘至:spring api
因此通过修改cookieMaxAge的值控制cookies在User客户端持久化的存活期如;至此就解决了不同窗口请求需要再次验证的问题了。
分享到:
相关推荐
### CAS SSO配置文档详解 #### 一、SSO实现原理与CAS的作用 单点登录(Single Sign-On,简称SSO)是一种用户身份验证机制,允许用户在一个安全领域内访问多个应用系统,而无需多次输入身份验证信息。在税务行业...
基于Tomcat6的CAS SSO配置涉及的主要知识点包括SSO(Single Sign-On,单点登录)、CAS(Central Authentication Service,中心认证服务)、SSL(Secure Socket Layer,安全套接层)以及Tomcat服务器的配置。...
4. **客户端集成**:每个需要SSO功能的应用需要配置为CAS客户端,这通常涉及修改应用的配置文件,指示它们信任CAS服务器,并处理票证验证。 5. **信任关系建立**:在不同系统之间建立信任,确保CAS服务器能够验证...
CAS(Central Authentication Service,...综上所述,CAS SSO配置涉及到服务器和客户端两部分,需要对Tomcat、SSL证书管理、以及CAS客户端库有深入理解。在实际操作中,务必遵循最佳实践,确保系统的安全性和稳定性。
总结,CAS SSO配置涉及CAS Server的部署、数据库连接的配置以及登录验证方式的设定。通过理解CAS的工作原理和配置步骤,你可以有效地在多个Web应用间实现统一的登录体验,提高用户体验的同时增强了系统的安全性。
`.net-casSSO-client.rar`提供的程序集`DoNetCasClient.dll`是一个预编译的库,可以直接集成到你的.NET项目中,简化了客户端的开发工作。这个库通常包含以下功能: 1. **登录验证**:客户端库会处理向CAS服务器发送...
虽然具体内容无法在当前环境下查看,但我们可以根据一般CAS SSO的知识点进行深入探讨。 1. **CAS架构**:CAS通常由三个主要组件组成:CAS服务器、客户端和服务提供者。CAS服务器负责验证用户身份,客户端负责引导...
标签"cas"、"cas_sso"、"java_sso"、"sso"进一步强调了主题内容,分别对应CAS服务、CAS的SSO特性、Java环境下的SSO实现以及SSO技术本身。 在压缩包内的文件" CAS-SSO-TRIAL.doc"很可能是一个详细的文档,提供了关于...
SSO实例安装和配置指南PDF版 CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。
CAS(Central Authentication Service,中央认证服务)是Java社区开发的一个开源SSO解决方案,它为Web应用提供了统一的认证和授权服务。 CAS的核心概念包括以下几个部分: 1. **CAS服务器**:这是SSO的核心,负责...
CAS(Central Authentication Service)是Java开发的一个开源的单点登录(Single Sign-On,简称SSO)框架,主要用于解决网络应用中的身份验证问题。本压缩包提供了CAS服务端自定义认证的实现,以及CAS客户端的配置...
总之,Yale CAS SSO JAVA Client是实现基于CAS的单点登录解决方案的重要工具,它提供了方便的API和配置选项,帮助Java开发者在不牺牲安全性的前提下,为用户提供无缝的登录体验。通过深入理解和合理利用这些资源,...
在这个“cas sso server page”主题下,我们将深入探讨CAS服务器的配置、工作原理以及如何设置和管理SSO。 1. CAS服务器简介: CAS服务器作为SSO的核心,负责处理用户的认证请求,并向各个应用系统提供验证票证...
使用Yale CAS SSO DotNet Client时,开发者需要配置CAS服务器的URL和其他相关设置。客户端库会处理与CAS服务器之间的通信,包括发送验证请求、解析返回的票证(ticket)以及验证票证的有效性。在用户成功验证后,...
例如,`定制CAS登录验证.pdf`文档可能详细介绍了如何调整CAS的配置,以支持本地数据库认证、LDAP、Active Directory或者其他外部认证源。此外,还可以自定义登录页面,以适应企业品牌和UI标准。 **CAS协议** CAS...
总的来说,CAS SSO提供了灵活的配置和扩展性,可以根据实际需求调整服务器和客户端的配置,以实现安全、高效的单点登录解决方案。同时,它也允许开发者通过定制处理程序和解析器来获取并处理多样化的用户信息。学习...
SSO(Single Sign-On)是一种身份验证机制,它允许用户在一个系统中登录后,无需再次认证即可...在实际操作中,应根据具体环境和需求详细阅读文档,遵循指导逐步配置,以实现安全、高效的Linux LDAP+CAS SSO解决方案。
《CAS之SSO配置手册》 CAS(Central Authentication Service)是一种广泛应用的开源单点登录(Single Sign-On,SSO)解决方案,由耶鲁大学发起,后来成为JA-SIG项目的一部分。它为企业级Web应用提供了安全可靠的...
本案例中,我们将探讨如何将Liferay 5.2.3与CAS(Central Authentication Service)配置为SSO系统。 Liferay是一款开源的企业级门户平台,它提供了一个灵活的框架来构建和管理Web应用程序。而CAS则是一个开源的身份...
最后,测试SSO配置。启动你的应用程序,尝试访问一个受保护的页面,你应该会被重定向到CAS登录页面。成功登录后,你应该能够无阻碍地访问所有其他受保护的资源,而无需再次登录。 总之,通过正确配置`CAS.txt`文件...