通过 LDAP 登录 Jenkins 失败

Log-in to Jenkins via LDAP fails

我们想在同一台服务器上运行两个 Jenkins 实例。 要登录 Jenkins(使用版本 1.595)Web GUI,我们使用 LDAP 插件(版本 1.11)。 "Project-based Matrix Authorization Strategy" 被选中,我的用户在这里被授予管理员访问权限。因此,一旦我能够登录,我就拥有了管理员权限。在 matirx 中添加的用户左侧的符号显示 "little man" 所以用户似乎是在 LDAP 上找到的。

还尝试将 "Anyone can do anything" 作为安全设置。使用这个我不会被重定向到登录表单,而是重定向到我调用 "login".

的最后访问的页面

我使用什么类型的 Internet Explorer 并不重要。结果总是一样的(已测试 Chrome、Firefox 和 Internet explorer)。

我已经和负责LDAP维护的同事讨论过了。正确处理传入信息(-> Jenkins 中的 LDAP 设置必须正确)。但是这个事实很清楚,因为错误的登录信息会导致"Invalid login information page",而正确的登录信息则不会。

同时确保防火墙没有问题。

您知道为什么这不起作用吗?或者可能是什么原因? 是否有一种 "redirection link" 用于登录?

根据您提供的信息很难判断,但需要检查的一件事是您的用户名的大小写是否与您在矩阵身份验证中设置的名称完全匹配。 LDAP 不区分大小写,但 Jenkins 区分大小写,这意味着您可以成功通过身份验证,而无需获得您期望的管理访问权限。

一种继续进行的方法是将 'authenticated'(区分大小写)用户添加到您的矩阵中,并设置一些有限的权限,然后查看您是否能够通过登录页面。

我找到了一个原因!

删除环境变量后 JENKINS_HOME 我能够登录到 Jenkins ... 至少通过本地主机。在这种登录之前也是不可能的。当我们 运行 同一台服务器上的两个 Jenkins 实例时,他们似乎想同时使用变量 -> 导致失败。但是,如果我尝试从另一台 PC 通过网络登录,我仍然无法登录(与之前相同)。变量 JENKINS_HOME 在 jenkins 安装文件夹的 jekins.xml 中设置(和以前一样),因此不需要环境变量。我提出了一个新问题,因为这现在是 Apache 错误。

我想我可以通过本地主机登录,但不能通过网络登录的原因一定是我们的Apache 2.2 服务器处理信息错误。通过使用本地主机,我可以绕过 Apache(-> 有效)但通过网络使用 Apache(-> 无效)。

Link到新问题: