微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Bugzilla不会将经过LDAP身份验证的用户映射到基于Bugzilla电子邮件的用户

如何解决Bugzilla不会将经过LDAP身份验证的用户映射到基于Bugzilla电子邮件的用户

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

为此,我跳过了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 authenticate:将使用属性'userPrincipalName'设置REMOTE_USER,但是在用户的LDAP查询中未请求此属性。REMOTE_USER将回退到相应的用户名或DN。”

这将指向AuthLDAPUrl的问题,但是到目前为止,我发现的任何组合都没有用。寻找任何建议来解决此问题。

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

解决方法

因为我怀疑解决方案已经接近,但是由于这里不是马蹄铁或手榴弹,所以我们是。原来是这个字符串

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标头中。等等,这一切都可以。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。