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

标签 java single-sign-on cas

我花了大约一天的时间查看 CAS,并设法让服务器使用一个简单的测试应用程序运行。当我进入 protected 区域时,我会重定向到登录页面 - 当我登录时,我会返回到之前的页面。

从这里开始,下一步将部署两个客户端应用程序,登录客户端 A,访问客户端 B 保护区,并让系统为我处理身份验证(因为我已经登录客户端 A)。

但这实际上并不起作用。无论是否登录客户端 A 站点,我都必须登录客户端 B 站点。

CAS 运行在 Tomcat 上,客户端 A 和 B 是在 JBoss AS 6 的单个实例上作为单独的 war 部署的同一个项目。

有什么想法可以实现建议的行为吗?

编辑:是的,两者都使用 CAS。问题在于它似乎无法识别用户已经登录。就好像 CAS 无法确定两个服务之间是否存在“链接”以及当一项服务已通过身份验证时,其他服务应该自动进行身份验证。

我应该注意,在这个阶段,我没有在应用程序中使用 SSL。在介绍 SSL 之前,我重点介绍一个简单的示例并使用 HTTP。

最佳答案

您的两个应用程序都需要配置为使用 CAS 服务器进行身份验证。正常的过程是应用程序 A 将您重定向到 CAS 登录页面,让您登录并重定向回 A。如果您随后尝试登录 B,它会向 CA 服务器检查您是否已经登录并,如果是,则发回有关登录用户的信息。

同样,您的两个应用程序都需要支持 CAS 作为登录机制,但从您的描述中我不确定这一点。

CAS协议(protocol)的详细描述可以found here .

关于java - 具有多个 Web 应用程序的 CAS SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6133483/

相关文章:

azure - 多个azure应用程序如何使用相同的jwt token 进行身份验证

java - principal.getName() 返回 facebook 的 ID 而不是名称

java - CAS-Apereo Jasig : How to redirect to a custom web page after a successful login?

c# - 如何在运行时将安全协议(protocol)更新为 TLS 1.2

java - 与 Liferay 一起去还是不去?有什么好的、坏的和丑陋的?

java - 在 Javafx Controller 中调用方法时遇到问题

Java 桌面应用程序加数据库加互联网

reactjs - 是否可以使用 IDP 独立代码在 ReactJS 中实现 open id connect SSO?

java - 如何为 apache geode 创建对等拓扑

java - 无法读取 FileWriter 之后生成的 csv 文件并在 Java 中找到重复项