java - CAS 4.0 LDAP 不会查询服务器

标签 java maven tomcat ldap cas

我正在 docker 中设置 CAS 4.0 服务器。总的来说,我是 CAS 和 Tomcat 的新手,真的需要一些帮助。

我选择了这个 docker 镜像作为我的起点:https://github.com/panoptix-za/docker-cas 在 Dockerfile 的第 19 行,git 克隆了同一作者为 CAS LDAP 身份验证配置的覆盖 https://github.com/panoptix-za/cas-overlay 此叠加层放置在 tmp 目录中,并使用 maven 清理包。

效果很好,Tomcat 服务器按预期启动。玩弄 cas.properties 和 deployerConfigContext.xml 让我得到了一个登录屏幕,在任何日志文件中都没有可见的错误。但是,当通过凭据时没有任何反应,CAS 界面会重新加载但没有给出错误或消息(但在日志中我确实看到生成了一个票证)。我无法判断 LDAP 身份验证是否正常工作。我在这个云实例的同一子网中有一个复制的 AD 服务器,我可以使用 ldapsearch 命令并从我的 docker 容器中成功进行身份验证,但 CAS 似乎不起作用。我一直无法弄清楚如何在 ldaptive 模块上启用日志记录。

这是来自/var/log/cas/cas.log 的片段(在 log4j.xml 中定义)

 2015-07-14 15:51:47,887 DEBUG [org.jasig.cas.web.flow.GenerateLoginTicketAction] - Generated login ticket LT-52-kPSbcZTDrF4eamfO7qwRhocCGfsdmc-cas
2015-07-14 15:51:47,887 DEBUG [org.jasig.cas.web.flow.GenerateLoginTicketAction] - Generated login ticket LT-52-kPSbcZTDrF4eamfO7qwRhocCGfsdmc-cas
2015-07-14 15:51:47,891 DEBUG [org.jasig.cas.web.support.CasArgumentExtractor] - Extractor generated service for: http://my.psd401.net/
2015-07-14 15:51:49,687 DEBUG [org.jasig.cas.web.support.CasArgumentExtractor] - Extractor did not generate service.
2015-07-14 15:51:49,689 DEBUG [org.jasig.cas.web.flow.GenerateLoginTicketAction] - Generated login ticket LT-53-gRR3tog0475cUu0l5y2BFBGYQ7W2nb-cas
2015-07-14 15:51:49,689 DEBUG [org.jasig.cas.web.flow.GenerateLoginTicketAction] - Generated login ticket LT-53-gRR3tog0475cUu0l5y2BFBGYQ7W2nb-cas
2015-07-14 15:51:49,693 DEBUG [org.jasig.cas.web.support.CasArgumentExtractor] - Extractor did not generate service.
2015-07-14 15:53:44,363 INFO [org.jasig.cas.services.DefaultServicesManagerImpl] - Reloading registered services.
2015-07-14 15:53:44,363 DEBUG [org.jasig.cas.services.DefaultServicesManagerImpl] - Adding registered service ^(https?|imaps?)://.*
2015-07-14 15:53:44,363 INFO [org.jasig.cas.services.DefaultServicesManagerImpl] - Loaded 1 services.

我在 deployerContextConfig.xml 中尝试了数百种组合。我得到的最好的结果是配置(下面的链接)

但是,如上面的日志所示,这些似乎都没有尝试进行身份验证。该页面只是刷新,并且在任何日志或界面上都没有给出错误。几乎就像 CAS 甚至没有尝试一样。

最佳答案

我的问题是我的负载均衡器。我预先配置了负载均衡器以将所有流量定向到主机名/cas。这是有问题的,因为登录按钮指向主机名/cas/cas。

关于java - CAS 4.0 LDAP 不会查询服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31418467/

相关文章:

java - 为什么 Calendar 类没有公共(public)构造函数?

java - Java 数组中的对象

android - ClassNotFoundException dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java :61)

java - 当客户端和实际应用程序位于不同的容器中时配置事务管理器?

java - 在上下文菜单项上单击 Javafx 显示弹出窗口

java - 使用 Regex Java 进行密码验证

java - 启动 Tomcat 时出现 ClassNotFoundException DispatcherServlet(Maven 依赖项未复制到 wtpwebapps)

rest - 同一基于 Tomcat 的应用程序中的 Web 套接字和 Rest API

java - 如何将 maven 与 eclipse 集成

maven - mave 3.2 无法访问本地 nexus 实例返回 502 代码