具有多个Web应用程序的CAS SSO

| 我花了最后一天的时间在CAS上工作,并设法使服务器使用简单的测试应用程序。当我进入一个保护区时,我将重定向到登录页面-登录时,我将返回上一页。 从那里开始,下一步是部署两个客户端应用程序,登录到客户端A,访问客户端B的保护区,并让系统为我处理身份验证(因为我已经登录到客户端A)。 但是,这实际上不起作用。无论是否登录到客户端A站点,我都必须登录到客户端B站点。 CAS在Tomcat上运行,客户端A和B是在JBoss AS 6的单个实例上部署为单独战争的同一项目。 有什么想法可以实现建议的行为吗? 编辑:是的,都在使用CAS。问题在于它似乎无法识别用户已经登录。这似乎是CAS无法确定两个服务之间存在一个“链接”,并且当一项服务已通过身份验证时,另一项服务应自动进行身份验证。 我应该注意,在此阶段,我没有在应用程序中使用SSL。在介绍SSL之前,我专注于建立一个简单的示例并使用HTTP。     
已邀请:
您的两个应用程序都需要配置为使用CAS服务器进行身份验证。正常过程是应用程序A将您重定向到CAS登录页面,让您登录并重定向回到A。如果您随后尝试登录到B,它将与CAs服务器一起检查您是否已经登录如果是,则发送回有关已登录用户的信息。 同样,您的两个应用程序都需要支持CAS作为登录机制,从您的描述中我不确定。 可以在此处找到CAS协议的详细说明。     
CAS在没有SSL的情况下工作,因为它会将您带到登录站点并正确进行身份验证。问题是如果您尝试通过另一个站点访问,它将要求您再次登录。 一旦启用SSL并尝试使用它,它就可以正常工作。登录到客户端A后,它将自动在客户端B中对您进行身份验证。我花了一些时间在Wiki上,尽管它谈到了使用SSL的重要性,但我不记得它明确指出未启用SSL的情况下SSO无法工作的情况。也许应该向Wiki添加警告?     
如果您想专注于应用程序并简化生活,请为CAS服务器使用云提供商:http://www.casinthecloud.com(免费服务器可用于测试)。     

要回复问题请先登录注册