Я хочу иметь аутентификацию 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