Назад | Перейти на главную страницу

Что требуется для работы аутентификации 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

и конфигурация apache на новом сервере Ubuntu выглядит так

<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 на новом сервере Ubuntu, где работает SSL / HTTPS, окно аутентификации не появляется.

В файлах журнала ошибок нет.

Кто-нибудь может увидеть, что может быть упущено / неправильно?

Вам нужно изменить AllowOverride в вашей конфигурации, чтобы разрешить аутентификацию в файле htaccess, например:

AllowOverride AuthConfig

Строка вроде:

AllowOverride None

предотвратит выполнение директивы аутентификации в файле htaccess.

Это рабочая конфигурация, которая у меня есть, но мне требовался любой допустимый пользователь 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