Apache和LDAP身份validation

我们使用Apache mod_authnz_ldap来使用我们的LDAP Active Directory向Nagiosauthentication用户。 现在正在使用SamAccountName。 但是,Nagios正在使用SamAccountName作为login用户的名称。这对Author评论等造成了一个小问题(我们没有记住用户ID)。

有没有办法使用SamAccountName mod_authnz_ldap进行身份validation,但返回显示名称或名称? 这样作者评论会显示用户的真实姓名。

这里是我的httpd的nagios.conf:

<Directory "/usr/lib64/nagios/cgi-bin/"> # SSLRequireSSL Options ExecCGI Options FollowSymLinks AllowOverride None AuthBasicProvider ldap AuthType Basic AuthzLDAPAuthoritative off AuthName "Active Directory Login" AuthLDAPURL "ldap://my.ldap.server:389/dc=my_dc,dc=my_dc,dc=net?sAMAccountName?sub" NONE Require valid-user </Directory> Alias /nagios "/usr/share/nagios/html" <Directory "/usr/share/nagios/html"> # SSLRequireSSL Options ExecCGI Options FollowSymLinks AllowOverride None AuthBasicProvider ldap AuthType Basic AuthzLDAPAuthoritative off AuthName "Active Directory Login" AuthLDAPURL "ldap://my.ldap.server:389/dc=my_dc,dc=my_dc,dc=net?sAMAccountName?sub" NONE Require valid-user </Directory> 

弄清楚了。 我必须将“cn”添加到AuthLDAPURL中,并添加一个AuthLDAPRemoteUserAttribute

现在,Nagios(和Apache)将会看到REMOTE_USER环境variables为cn

 AuthLDAPURL "ldap://my.ldap.server:389/dc=my_dc,dc=my_dc,dc=net?sAMAccountName,cn?sub" NONE AuthLDAPRemoteUserAttribute cn