CAS单点部署时非常容易配置,且稳定性较好,非常适合中小规模应用系统使用。但在大规模应用系统,尤其是集群应用系统下,经常遇到问题。
一、CAS集群部署
由于CAS Server是一个Web应用,因此可部署在Tomcat等容器中。直接部署CAS集群并使用负载均衡设备后,由于每次访问的CAS Server不固定,会发生通行证丢失。
解决方法:配置TOMCAT集群及Session复制,解决CAS Server Session复制。详细配置方法见TOMCAT Session复制的配置。
二、CAS集群使用时,Ticket存储未做数据共享
当用户登录后,Ticket存储在CAS Server中,由于这部分数据未保存在Session中,仅靠TOMCAT Session复制无法解决问题。默认配置下,CAS Server使用org.jasig.cas.ticket.registry.DefaultTicketRegistry把Ticket数据保存在 HashMap中,因此多台CAS Server无法共享数据。导致用户登录及退出均存在问题。
解决方法:用JBossCacheTicketRegistry(数据共享)解决数据共享问题,使多台CAS Server使用相同的存储区域管理Ticket。
三、CAS集群无法正常Logout
根据CAS Server工作流程,当收到Logout请求后,CAS Server会删除自身存储的有关当前用户的所有Ticket票据,“问题二”的解决方法已经解决了多台CAS Server删除票据的问题。但随后从CAS Server会发起HTTP POST请求到应用服务器,该请求中具备“logoutRequest”标志,应用服务器的SingleSignOutFilter接收到该请求后在应用服务器端进行用户登出操作。该操作主要是将应用服务器端的CAS Client中保存的用户Session数据失效,达到客户端登出效果。即,对于CAS系统,必须Server端和Client均进行登出操作,用户才会真正登出。cas退出采用的是异步操作,客户端是否退出成功也不关心。
CAS Server的这个工作流程,在应用集群部署的情况下带来一系列问题。由于应用服务器集群化,且一般会使用Session复制,当CAS Server向应用服务器发起Logout请求时,仅针对一台服务器发起请求,导致应用服务器没有全部退出,使得用户使用登出操作时,有时可以退出,有时不能退出,用户体验很差。
解决方法:修改HttpClient的源码,具体是修改call方法,此方法是单点退出的核心方法。
分享到:
相关推荐
标题中的“用JBOSS CACHE做CAS集群在weblogic上部署的问题”涉及到的是一个特定的分布式缓存解决方案在不同应用服务器环境下的集成问题。CAS(Central Authentication Service)是一种开源的身份验证服务,它允许...
### 基于CAS集群的单点失效问题解决方案 #### 概述 随着信息技术的不断发展,企业或组织内部通常会部署多个应用系统来满足不同业务需求。为了提高用户体验并简化登录流程,单点登录(Single Sign-On, SSO)成为了...
"H3C CAS集群管理技术白皮书" H3C CAS集群管理技术白皮书是H3C公司发布的一份白皮书,主要介绍H3C CAS云计算管理平台的集群管理技术。下面是对该白皮书的详细解读和知识点总结: 1. 概述 H3C CAS云计算管理平台是...
【CAS(Central Authentication Service)简介】 CAS 是 Jasig 组织开发的一种基于 Web 的单点登录(Single Sign-On...实际生产环境中,可能还需要考虑 SSL 安全配置、自定义认证机制、多 CAS Server 集群等复杂情况。
加入SPNEGO认证后的CAS集群部署面临的主要挑战在于Nginx转发请求时导致的SPNEGO失效问题。 - **问题分析**:通过分析Nginx和CAS的日志,发现当请求经过Nginx转发至CAS时,原本应为SPNEGO格式的Token被错误地转换为...
Cas服务端部署与MD5加密认证是网络安全领域中常见的实践,尤其在企业级应用系统中,为了确保用户身份验证的安全性,通常会采用这样...同时,对于大型企业环境,可能还需要考虑负载均衡、高可用性和集群部署等高级配置。
WebSphere Application Server是IBM提供的一款企业级Java应用程序服务器,它支持集群部署以提高系统的可伸缩性和容错性。 1. 部署环境 - **数据库服务器环境**:推荐使用IBM的小型机,至少200GB的硬盘空间,并运行...
- 部署CAS Server集群:提高可用性和负载均衡能力。 - 监控和日志:设置适当的监控和日志记录,以便跟踪异常和性能问题。 通过以上步骤,你可以成功部署Yale CAS Server并集成cas-java-client 3.2,实现统一的身份...
为了支持CAS Server的集群部署,需要实现在不同节点间共享Ticket信息的功能。 1. **添加Redis依赖**:选择Redis作为共享Ticket存储方案,需要添加Redis客户端库的依赖到POM文件中。 2. **创建`RedisTicketRegistry...
6. **故障转移和高可用性**:支持集群部署,提高了系统的可用性和可靠性。 在部署这些WAR文件时,首先需要一个运行的Servlet容器,如Apache Tomcat。将WAR文件复制到Tomcat的webapps目录下,容器会自动解压并启动...
对于大型企业环境,可能还需要考虑CAS的集群部署和高可用性方案,以保证服务的稳定性和可扩展性。 总之,"cas-server-3.3-release.zip" 提供了实现Liferay SSO的关键组件,涉及到了身份验证、服务代理、安全配置等...
1. **安装 CAS 服务器**:确保 CAS 服务器已经部署完成,并且能够正常工作。 2. **配置 CAS 客户端**:Mantis 需要集成 CAS 客户端库来实现单点登录。本文档采用的是 PHP 版本的 CAS 客户端。 ##### 第二步:Mantis...
6. CAS集群方案: 在高可用性和负载均衡的环境中,可能需要部署多台CAS服务器形成集群。这通常涉及到配置共享的票证存储(如Redis或Memcached)以及负载均衡器。当一台服务器出现故障时,其他服务器可以接管工作,...
2. **资源调度**:利用CAS的动态调度功能,自动平衡集群中的负载,提高资源利用率。 3. **高可用性**:设置虚拟机HA策略,当物理主机出现故障时,虚拟机能自动在其他节点上重启。 4. **虚拟机迁移**:在线迁移虚拟机...
8. 部署和管理:CAS支持多种部署模式,如单服务器、集群、分布式等,可以根据组织的规模和需求进行选择。同时,管理和监控工具如Apereo uPortal、Apereo CAS Management等,可以帮助管理员更有效地管理和监控CAS环境...
通过使用CAS数组,可以避免多台CAS服务器未组成数组时可能出现的单点故障问题。CAS数组需要通过网络负载均衡(NLB)来实现其功能,NLB技术有助于分散客户端请求至多个CAS服务器,并实现故障转移。 文章中提到了一个...