LDAP 身份验证要工作需要什么?

LDAP 身份验证要工作需要什么?

我想要在网页上进行 LDAP 身份验证。

在 CentOS 服务器上.htaccess看起来像这样

Order deny,allow
Deny from All
AuthName "Only members"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPUrl ldaps://nms.example.com/dc=ldap,dc=example,dc=com?uid
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDN off
Require ldap-group cn=example,ou=group,dc=ldap,dc=example,dc=com
Satisfy any

新 Ubuntu 服务器上的 apache 配置如下所示

<IfModule mod_ssl.c>
<VirtualHost 123.123.123.123:443>
    ServerAdmin webmaster@localhost
        ServerName example.com:443
    DocumentRoot /var/www/example.com
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /var/www/examle.com
        Options Indexes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
        AllowOverride None
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/example.com-error.log

    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    SSLEngine on
    SSLProtocol all -SSLv2
    SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
    SSLCertificateFile /etc/ssl/certs/example_com.cer
    SSLCertificateKeyFile /etc/ssl/private/example_com.key

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
    </FilesMatch>
    <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
    </Directory>

</VirtualHost>
</IfModule>

但是,当我将相同的.htaccess文件放在 SSL/HTTPS 正在运行的新 Ubuntu 服务器上时,没有出现身份验证框。

日志文件没有记录任何错误。

有人能看出哪里缺失了或者出了什么问题吗?

答案1

您需要更改AllowOverride配置中的行以允许在 htaccess 文件中进行身份验证,例如:

AllowOverride AuthConfig

如下一行:

AllowOverride None

将阻止 htaccess 文件中的身份验证指令的执行。

答案2

这是我拥有的工作配置,但我需要搜索路径中的任何有效 LDAP 用户;

Order deny,allow
Deny from All
AllowOverride AuthConfig
AuthName "Vostron Staff Only"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://auth01.int.vostron.net:389/dc=int,dc=vostron,dc=net"
AuthLDAPGroupAttribute memberUid
AuthLDAPGroupAttributeIsDn off
Require valid-user
Satisfy any

另外,不要忘记启用 ldap.load 和 authnz_ldap.load

相关内容