【问题标题】:Bugzilla doesn't map LDAP-authenticated user to bugzilla email-based userBugzilla 不会将 LDAP 认证的用户映射到基于电子邮件的 bugzilla 用户
【发布时间】:2020-09-30 21:52:56
【问题描述】:

在 Ubuntu 20 上全新安装带有 Apache 2.4.41 的 Bugzilla 5.0.6 时,我想将我们的域用户映射到我们现有的 Bugzilla 帐户。 (我们是从早期版本的 Bugzilla 迁移而来,但在 Apache 和 Windows 上进行迁移,因此除了数据库迁移之外,它几乎是全新安装。)

为此,我跳过了 Bugzilla 的 LDAP 设置,转而使用 Apache 与 authnz 的集成,这是我们很久以前在原始设置中所做的。 (公平地说,Windows 上的 Apache 为此使用了不同的模块,SSPI)。我们也有这个设置在其他服务器上工作(例如,wiki)。我的 LDAP 设置如下所示:

<Location "/">
AuthName "Bugzilla user login (WHL user/pwd)"
AuthType Basic
AuthBasicProvider ldap
LDAPReferrals Off
# If desired add port 389 or 3268
AuthLDAPUrl ldap://ldapserver/dc=org1,dc=org2?sAMAccountName?sub?(objectClass=*)
AuthLDAPBindDN "CN=name,OU=accounts,DC=org1,DC=org2"
AuthLDAPBindPassword "xxxpwdxxx"
Require valid-user
</Location>

我认为它接近工作有几个原因:

  1. ldap 身份验证成功,但 Bugzilla 显示错误:“我们收到的电子邮件地址([域登录])未通过我们对合法电子邮件地址的语法检查 [...]”
  2. http 请求的 Wireshark 跟踪显示,http 标头中没有发送 X-Remote-User
  3. Apache error.log 有一个类似这样的条目:"auth_ldap 身份验证:REMOTE_USER 应设置为属性“userPrincipalName”,但在用户的 LDAP 查询中未请求此属性。REMOTE_USER 将回退适当的用户名或 DN。"

这表明 AuthLDAPUrl 存在问题,但到目前为止我发现没有任何组合有效。寻找解决此问题的任何建议。

或者,如果这不是这样做的方法,而首选方法是使用 Bugzilla 的 ldap 身份验证,请告诉我。

【问题讨论】:

    标签: apache bugzilla


    【解决方案1】:

    我怀疑解决方案很接近,但因为这里不是马蹄铁或手榴弹。原来是这个字符串

    AuthLDAPUrl ldap://ldapserver/dc=org1,dc=org2?sAMAccountName?sub?(objectClass=*)
    

    需要额外查找,这是相当重要的 userPrincipalName(电子邮件),一个 la

    AuthLDAPUrl ldap://ldapserver/dc=org1,dc=org2?sAMAccountName,userPrincipalName?sub?(objectClass=*)
    

    另外,这一行

    AuthLDAPRemoteUserAttribute userPrincipalName
    

    指示 Apache 将该电子邮件地址放在 X-Remote-User http 标头中。等等,一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-04
      • 2020-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-15
      • 1970-01-01
      • 2017-06-05
      相关资源
      最近更新 更多