使用服务器配置或.htaccess保护文档根目录区域时,如果有人从浏览器请求这些文件,服务器会提示输入用户名和密码。如果密码与该用户的身份验证提供程序的密码匹配,则http://httpd.apache.org/docs/2.2/howto/auth.html处的文档说apache将为该用户设置环境变量。在我的情况下,我构建一个php应用程序,并使用phpinfo()我收集环境变量集是REDIRECT_AUTHENTICATE_SAMACCOUNTNAME,AUTHENTICATE_SAMACCOUNTNAME(使用活动目录作为身份验证提供程序)和REMOTE_USER。我相信这是阻止用户在每个后续请求中反复提示的原因。
我不明白的是,apache如何匹配来自用户的请求以及为该用户设置的环境变量,以及它何时以及如何知道如何清除这些变量。我似乎没有使用Cookie,因为我清除了相关域名的所有Cookie,但除非我真正关闭浏览器,否则它仍然不会要求我重新进行身份验证。
最终,我将使用php来获取用户ID并维护状态,但由于php从apache信息中获取信息,我想知道该上下文,而我似乎无法找到这些细节。提前致谢。
答案 0 :(得分:0)
查看您的浏览器发送的http标头。提供用户名和密码后,您的浏览器将继续将这些详细信息发送到该网站,直到您的浏览器会话结束,或者如果您告诉浏览器记住凭据,则会更长。