我们在我们的网站上有.htaccess http://subdomain.site.com/ :
AuthType Kerberos AuthName "Internet ID" require valid-user order deny,allow deny from all allow from all
在网站的子目录http://subdomain.site.com/subdirectory/我们有一个.htaccess:
AuthType none Satisfy any
原因是在这个子目录/我们有不同的authentication机制,不想使用Kerberos作为authentication。 但问题是,在Chrome中.htaccess身份validation仍然popup,但Firefox,歌剧,IE浏览器不加载页面之前提示进行此身份validation。
我无法理解服务器端configuration如何根据浏览器以不同方式呈现给最终用户? 我的子目录.htaccess中有什么东西我失踪了?
我只是转载了这个。 Chrome正在请求/favicon.ico,并获得HTTP / 1.1 401授权。 其他浏览器忽略它。 Chrome提供了一个auth对话框。 尝试将此添加到您的网站上的.htaccess http://subdomain.site.com/
<Files "favicon.ico"> AuthType none Satisfy any </Files>
这是错误… http://code.google.com/p/chromium/issues/detail?id=12876 …很糟糕。
在使用chrome时,必须在命令行上传递参数来使www协商正常工作。 具体而言,您必须将启用kerberos的networking服务器的主机名(FQDN)列入白名单。 从http://www.chromium.org/developers/design-documents/http-authentication :
google-chrome --auth-server-whitelist="*example.com,*foobar.com,*baz"
如果您只想强制使用gssapi而不使用基本身份validation:
google-chrome --auth-schemes="negotiate"
请参阅上面的链接了解更多信息。
据猜测,最可能的原因是Chrome不支持Kerberos,或者不像其他三种浏览器那样支持Kerberos。 可能所有的用户都被authentication了,服务器仍然需要authentication(不是做你认为的确切的) – 但是支持Kerberos的浏览器是透明的。
我会说设置apachelogging访问日志中的用户名,并查看是否允许来自其他浏览器的命中用户名或不… …并从那里去。