我刚刚在新的SLES 10服务器上运行Apache / LDAP身份验证。
当我访问我网站上的一个受保护区域时,我会看到Apache身份验证弹出窗口,我可以在其中进行LDAP身份验证以访问受保护的文件夹。
但我的行为越来越糟糕。
如果我输入有效用户但输入的密码不正确,则允许我重试身份验证。
如果我输入一个无效的用户(例如'aldfklsf'或甚至将用户名字段留空),那么我会收到错误500页,并且没有机会重新进行身份验证。
我已禁用缓存...尝试刷新页面以使Apache身份验证窗口返回,但事实并非如此。我只是不断收到错误500页。查看Apache错误日志,它说:每次刷新页面时都找不到用户aldfklsf。就像它挂在那个用户名上一样。
Apache中是否有一些设置允许我再次尝试进行身份验证?
以下是保护目录的整个conf文件:
<Directory "/media/nss/VOL1/ProtectedDir">
Options Indexes Multiviews
AllowOverride None
Order deny,allow
Allow from all
AuthType Basic
AuthName "Protected"
Require valid-user
AuthBasicAuthoritative Off
AuthzLDAPAuthoritative Off
AuthBasicProvider ldap
AuthLDAPURL ldap://10.20.32.3/o=wlwv?uid?sub
</Directory>
更新。我在Apache documentation中找到了这个:
正常情况下,Apache 访问控制模块将通过 未识别的用户ID到下一个 访问控制模块在线。除非 用户ID被识别并且 密码是否经过验证(或不验证) 给予通常的成功或 “身份验证失败”消息。
这似乎就是答案。不幸的是,我不了解Apache足以从该页面获取信息并实现它以使其正常工作。
有人可以帮忙吗?
答案 0 :(得分:4)
好的,明白了。这是简单解决方案,以防其他人遇到此问题。
更改:
AuthBasicAuthoritative Off
到
AuthBasicAuthoritative On
就这么做了。