我已经在本地计算机上使用LDAP配置了CAS,并部署在了tomcat服务器中。 而且我已经将此CAS应用程序与具有不同端口配置的Tomcat服务器的应用程序集成在一起。
并且在未启用SSL的情况下可以成功工作。 我已经生成了SSL密钥,并将其导入到Java家用安全性文件夹中的“证书”中。
使用“ server.xml”文件中包含的此生成的梯形校正文件在CAS部署的tomcat服务器上启用SSL端口。 现在,当我同时启动两个服务器并导航到我的应用程序时,就会出现CAS服务器登录页面,并且当我输入凭据时,它将凭据与 LDAP 服务器匹配(我已经检查了日志)。 但是,对于我的应用程序,我们在其中编写了自定义“ CasAuthentication ”,其中“ 主要”为“ _cas_stateful _ ”。>
这是我的代码( Grails 2.5 ),用于从请求中获取 LDAP 属性映射:
def sessionObj = RCH.currentRequestAttributes().request.session
sessionObj.setAttribute("auth_name", sessionObj.getAttribute( AbstractCasFilter.CONST_CAS_ASSERTION ).principal.name)
def attributeMap = sessionObj.getAttribute( AbstractCasFilter.CONST_CAS_ASSERTION ).principal.attributes
sessionObj上的“主要”为空。
有人可以帮助我解决这个问题。在未启用SSL的情况下,应用程序可以正常运行。但是我需要为我的应用启用单点登录。 问我您是否需要其他详细信息进行调试。
谢谢。