Apache的基本身份validation要求组不要打扰禁止

我有一个基本的身份validationsetuped与用户和组

AuthType Basic AuthName "GSD Dev Area" AuthUserFile /coding/conf/passwords/gsdesign/htpasswd AuthGroupFile /coding/conf/passwords/gsdesign/groups Require valid-user 

现在我想保护一个文件夹只有一个组

 require group myGroup 

它有效,但有一个问题。 如果我没有访问该文件夹我再次login窗口,我想通过禁止。 我怎样才能做到这一点。

非常感谢。

以后编辑我已经login了一个有效的用户名,但是当我访问一个区域有一个需求组,我不是我的一部分,我想得到一个身份validation拒绝而不是login框。

这样做可能是可行的,但是它需要你为Apache编写一个自定义处理程序。 你可以写这是C,Perl或Python或任何其他绑定的Apache处理程序API。

HTTP身份validation的标准行为是在没有任何身份validation信息和不正确的详细信息的情况下为这两个请求返回401 Authentication Required响应。 一旦浏览器得到401响应,就会显示一个login对话框。 您将不得不响应没有authentication信息的401请求authentication响应请求和任何不正确的403authentication响应。 这应该可以解决你的问题。

不知道我明白这个问题,但我想你是说当你给一个无效的用户名/密码组合,浏览器popup窗口而不是说“访问被拒绝”。 这是浏览器的一个function – 它会提示您input凭证,直到您获得正确的凭证,或直到您点击取消(此时您确实会得到拒绝访问的页面)。 据我所知,改变这个唯一可靠的方法是自己做validation,而不是使用AuthType Basic。

顺便说一句, 永远不要使用AuthType Basic来保护你所关心的任何东西,除非你的页面是通过https服务的。 AuthType Basic以明文forms发送证书,所以您需要SSL层为您encryption。