这是我在这里的第一篇文章,所以请善待我......
我们有 apache 管理我们的颠覆服务器的访问权限。目前用户只能使用他们的 sAMAccountName 登录,但由于 userPrincipalName(电子邮件地址)逐渐成为大多数登录的主要 ID,我们希望支持它并继续支持 sAMAccountName。
当前的方法如下所示,缺点是两个用户名 - sAMAccountName 和 userPrincipalName - 都必须在 svnaccessfile 中指定:
<AuthnProviderAlias ldap ldap-sAMAccountName>
AuthLDAPBindDN "CN=d-svn-ldap,OU=IT-050,OU=Service Accounts,OU=Accounts,OU=Domain Administration,DC=cds,DC=company"
AuthLDAPBindPassword ***
AuthLDAPUrl "ldap://server.company:3268/DC=cds,DC=company?sAMAccountName?sub?(objectclass=user)"
</AuthnProviderAlias>
<AuthnProviderAlias ldap ldap-userprincipalname>
AuthLDAPBindDN "CN=d-svn-ldap,OU=IT-050,OU=Service Accounts,OU=Accounts,OU=Domain Administration,DC=cds,DC=company"
AuthLDAPBindPassword ***
AuthLDAPUrl "ldap://server.company:3268/DC=cds,DC=company?userPrincipalName?sub?(objectclass=user)"
</AuthnProviderAlias>
<Location "/our_repo">
DAV svn
SVNPath /svn/repos/our_repo
SVNListParentPath on
AuthzSVNAccessFile /etc/apache2/conf-available/authz_repository_our_repo
Options Indexes Followsymlinks
AuthBasicProvider ldap-sAMAccountName ldap-userprincipalname
AuthType Basic
AuthName "LDAP authentication"
Require valid-user
# Note that Require ldap-* would not work here, since the
# AuthnProviderAlias does not provide the config to authorization providers
# that are implemented in the same module as the authentication provider.
</Location>
所以我正在寻找一种只能在 svnaccessfile 中指定 userPrincipalNames 的方法。我希望 AuthLDAPRemoteUserAttribute 在这里可能会有所帮助,所以我添加
AuthLDAPRemoteUserAttribute userPrincipalName
到 ldap-sAMAccountName 中,这会导致 error.log 中出现此消息:
auth_ldap 身份验证:REMOTE_USER 将使用属性“userPrincipalName”设置,但在用户的 LDAP 查询中未请求此属性。REMOTE_USER 将酌情回退到用户名或 DN。
这是正确的方法吗?这甚至可能吗?
谢谢
弗洛