我们有大约十二个内部管理员网络应用程序(主要是Java),员工可以使用这些应用程序进行各种工作流程,并且每个人都有自己的,不同的登录/身份验证系统。我被要求在一个单一的唱歌系统下将它们联合起来。我将以下图表作为起点使用:
如您所见,每个应用程序都使用CAS客户端连接到CAS服务器。此服务器还具有配置了Shibboleth插件(?)的Apache httpd。然后,此CAS服务器与我们的Active Directory(“AD”)服务器通信。
我需要确保完全理解这些技术如何协同工作:
答案 0 :(得分:6)
以下是您的一些答案:
首先,让我快速概述一下CAS客户端和CAS服务器之间的交互是如何工作的:(我不熟悉Shibboleth部分,所以我省略了。)
现在提出您的问题:
如果您主要使用CAS并且能够在应用程序中使用自己的CAS客户端,CAS可以是一个非常好的解决方案。遗憾的是,尽管CAS的协议与SAML2的ARTIFACT配置文件非常相似,但CAS并没有使用它自己的协议来完全支持SAML2。如果要与其他SAML2客户端集成,则需要完成一些工作。
此外,如果您的Java应用程序碰巧使用Spring,则Spring安全性包括一个开箱即用的CAS客户端。
编写自定义客户端也很容易,因为您可以看到该协议并不是非常复杂。
此外,虽然设置起来有点麻烦,但是如果您的员工已经通过Windows登录到您的域名,那么您实际上可以捎带并配置CAS以使用Windows登录信息用户已经提供而不是提示用户使用登录表单,使他们重新输入他们的Windows凭据。