我有一个受保护的下载目录。
/ downloads中的受保护文件具有以下标头:
WWW-Authenticate:基本领域=“下载”
我使用.htaccess保护它:
AuthBasicProvider ldap
AuthName "Downloads"
<Limit GET>
Order Deny,Allow
Deny from all
Require valid-user
Allow from 192.168.1.2
Satisfy any
</Limit>
如果我不是来自192.168.1.2,我需要通过LDAP进行身份验证,或者在身份验证失败时,收到401未经授权的消息。
有时,当不在192.168.1.2上时,当我尝试在浏览器中首次下载文件时,似乎收到401错误,但没有提示输入凭据的提示。
重新加载将显示身份验证提示。好像服务器认为浏览器已尝试认证失败。
但是我可以确定情况并非如此,因为这是自打开浏览器以来的首次访问。并非总是如此。
当我注意到该问题时,通常我会先通过SSO登录到其他站点,例如foo.bar.com,该站点是下载站点的子域。下载的网站www.bar.com与foo.bar.com不共享SSO。
此外,跟随下载链接的人们单击HTTP链接,但是下载站点重定向到HTTPS(并且任何凭据请求都是通过HTTPS进行的),该站点使用HSTS鼓励其他时间使用HTTPS。我不确定这是否可能与之相关。
是否可以通过某种方式始终强制提示(假设我不在192.168.1.2)?我可以用重写和auth标头做些什么吗?
有人知道为什么不总是提示我输入凭据吗?