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

Chr*_*s R 10 active-directory ldap authentication redmine ruby-on-rails

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

我们的 AD 服务器在 host:port 上ims.example.com:389,我有一个 user 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
Run Code Online (Sandbox Code Playgroud)

测试此连接工作正常。

但是,我没有成功通过它进行身份验证。

我已经创建了一个备份管理员用户,这样我就可以在发生me故障时重新访问该帐户,然后我尝试更改me为使用 ActiveDirectory 凭据。但是,一旦我这样做,就无法登录。我已经尝试了所有这些登录名选项:

  • me
  • IMS/me
  • IMS\me

我使用了我已知的域密码,但没有任何乐趣。

那么,我有什么设置错误,或者我需要获取哪些信息才能使这项工作发挥作用?

Chr*_*s R 14

好的,这里是我需要的特定设置,以便完成这项工作:

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
Run Code Online (Sandbox Code Playgroud)

诀窍是cn=Users从基本 DN 中删除,之后所有内容都集中在一起。

另一个值得注意的事情是包含一个用户来阅读目录。

最后,登录的用户像往常一样使用他们没有域资格的用户名和他们的域密码。我们的域不需要电子邮件地址,因此有一个额外的步骤,必须在用户创建期间设置电子邮件地址,但这非常简单。


小智 6

查找 ActiveDirectory LDAP 身份验证的基本 DN 的一个技巧是检查用户的完全限定域名是什么。您可以通过以下方式检查:

whoami /FQDN
Run Code Online (Sandbox Code Playgroud)

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

CN=John Doe,OU=users,OU=department,DC=corp,DC=domain,DC=com
Run Code Online (Sandbox Code Playgroud)

并且可以通过删除第一个 CN 来找到 Base DN。

OU=users,OU=department,DC=corp,DC=domain,DC=com
Run Code Online (Sandbox Code Playgroud)