如何配置Apache和LDAP以允许第二次身份验证尝试?

时间:2010-02-05 19:50:08

标签: apache ldap

我刚刚在新的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足以从该页面获取信息并实现它以使其正常工作。

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

好的,明白了。这是简单解决方案,以防其他人遇到此问题。

更改:

AuthBasicAuthoritative Off

AuthBasicAuthoritative On

就这么做了。