我想要在网页上进行 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