我需要找到一种方法来强制Apache向用户询问他们在我的网站根目录下要求的每个资源的凭据。
这是我目前的.htaccess内容:
<Directory /var/www/vhosts/abcd>
Dav On
AuthType Basic
AuthName "private"
AuthBasicProvider external
AuthExternal auth
require valid-user
</Directory>
(这将调用由auth定义的Php脚本。)
我希望用户再次针对他可能想要获得的每个不同的资源进行身份验证,但是当他成功验证特定资源时,请保持身份验证的有效性。
也许我想念一下我应该如何在“Apache逻辑”中做到这一点,无论如何,任何帮助都会被贬低!
感谢。
修改
我误解了Apache身份验证的工作方式。我认为当有人进行身份验证时,他不需要再次对同一目录下的任何资源进行身份验证,但事实并非如此。如果我的PHP脚本使用所请求文件的当前URI,我可以返回一个不同的状态代码,具体取决于某人是否有权访问它,即使他被授予了对root用户的访问权限。
答案 0 :(得分:1)
每次访问不同的资源时都会让用户烦恼......好吧......很烦人。而是使用您的php auth脚本检查的ACL(访问控制列表),如果用户没有正确的权限,则拒绝访问。
答案 1 :(得分:0)
您正在使用基本身份验证。因此,浏览器实际上会对其发出的每个请求进行“再次身份验证”:它会记住您输入的身份验证用户/密码,然后在每次请求后发送它。
您能否解释为什么您希望用户一次又一次地进行身份验证?它可能有助于我们找到解决问题的方法......