如何设置 Redmine => Active Directory 身份验证?

如何设置 Redmine => Active Directory 身份验证?

首先,我不是现场的 AD 管理员,但我的经理要求我尝试将我的个人 Redmine 安装与 ActiveDirectory 集成,以便测试它是否能进行更大规模的推广。

我们的 AD 服务器位于 host:portims.example.com:389并且我有一个用户IMS/me

现在,我me在 Redmine 中也有一个使用本地身份验证的用户。

我在 RedMine 中创建了一个 ActiveDirectory LDAP 身份验证方法,其参数如下:

Host: ims.example.com
Port: 389
Base DN: cn=Users,dc=ims,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

测试这个连接工作正常。

然而,我尚未成功通过身份验证。

我创建了一个备份管理员用户,这样如果我出现问题,我可以重新登录该me帐户,然后我尝试更改me为使用 ActiveDirectory 凭据。但是,一旦我这样做,就无法登录。我尝试了以下所有登录名选项:

  • me
  • IMS/me
  • IMS\me

我已经使用了已知的域密码,但没有任何效果。

那么,我的哪些设置有错误,或者我需要获取哪些信息才能使其正常工作?

答案1

好的,以下是为了让此功能正常工作所需的具体设置:

Host: ims.example.com
Port: 389
User: MYDOMAIN\accountName
Password: *******
Base DN: dc=mydomain,dc=example,dc=com

On-The-Fly User Creation: YES
Login: sAMAccountName
Firstname: givenName
Lastname: sN
Email: mail

诀窍是cn=Users从基本 DN 中删除,之后一切都会组合在一起。

另一件值得注意的事情是加入了一个可以读取目录的用户。

最后,登录的用户照常使用其用户名(无域资格)和域密码。我们的域不需要电子邮件地址,因此还有一个额外的步骤,即在创建用户时设置电子邮件地址,但这非常简单。

答案2

查找 ActiveDirectory LDAP 身份验证的基本 DN 的一个技巧是检查用户的完全限定域名是什么。您可以使用以下命令进行检查:

whoami /FQDN

如果你以该用户身份登录,则返回类似

CN=John Doe,OU=users,OU=department,DC=corp,DC=domain,DC=com

通过删除第一个 CN 即可找到基本 DN。

OU=users,OU=department,DC=corp,DC=domain,DC=com

答案3

我对 Redmine 不熟悉,但看起来你确实在尝试匿名绑定到 Active Directory 来验证凭据。这行不通。配置了多个产品以将 LDAP 与 AD 集成后,这是我见过的一个常见问题。

开箱即用,AD 要求客户端在绑定到目录执行查询时进行身份验证。

看一看在 Redmine wiki 上的这个帖子中回复:配置 LDAP 身份验证。他们正在讨论为 Redmine 指定一个帐户和密码(具有读取目录权限的帐户 - 普通的“域用户”就可以了)以绑定到目录。

答案4

如果您想更进一步设置 SSO,这个插件非常有用! https://www.redmine.org/plugins/single_auth

这篇文章(我的)可能会有所帮助: http://techutils.bcmedeiros.dev/2016/02/redmine-ad-sso-setup.html

相关内容