我正在尝试使用 Spring Security CAS 扩展对我的应用程序上的用户进行身份验证。之前只有一个应用程序,因此不需要 SSO。现在还有一个应用程序,我希望用户登录一次并使用所有应用程序,而无需再次通过身份验证(基本上是 SSO)。我有一堆这样的问题-
- 我拥有的所有应用程序都是单个 tomcat 容器的一部分,将通过同一个域提供服务。我检查了 Tomcat SSO Valve,但它似乎需要基于容器的身份验证,我不确定是否要将其用于身份验证/授权。我正在使用基于弹簧安全表单的登录。我真的需要像 Jasig CAS 这样的东西还是会有点矫枉过正?
Spring Security 和 CAS deployerContext 配置 - http://pastie.org/8408976和http://pastie.org/8408967
我使用 Jasig 服务器设置了 Spring Security CAS,SSO似乎可以正常工作,因为登录到任何应用程序都足以访问其他应用程序。我已经修改了 deployerConfigContext.xml 以将 inMemoryServiceRegistryDaoImpl 替换为 JPA / Hibernate 之一。但我总是在我的日志中看到以下行。尽管已经在我的数据库中创建了表(SERVICETICKET 等)。当我尝试登录和注销时,这些表总是空的。
2013-10-17 16:41:18,882 INFO [org.jasig.cas.services.DefaultServicesManagerImpl] - <Loaded 0 services.>
当我尝试访问 URL
https://localhost/cas/services
时,它返回错误“此网站有重定向循环”。我看到下面的文章在日志中重复了 n 次(带有不同的票号)- http://pastie.org/8408940我没有任何 REST 或无状态服务访问经过身份验证的资源,我是否需要代理票证?
注意:我使用的是 Spring Security 3.1.4.RELEASE 和 CAS server 3.5.2 版本。任何指针都会有所帮助。