Har*_*eep 4 asp.net iis firefox iis-6 digest-authentication
我最近在我为ASP.NET公司创建的Intranet网站/应用程序上启用了摘要式身份验证.
我这样做的原因是因为Windows身份验证似乎只适用于某些用户,而不适用于其他用户.我无法弄清楚为什么我也不了解IIS以试图追踪问题.经过一些反复试验,我发现摘要式身份验证似乎给了我想要的行为.即:仅允许域中具有有效帐户的用户使用其凭据登录网站.
现在的问题是,Firefox(3+)似乎要求用户对发送到服务器的每个HTTP请求进行身份验证.这似乎不会出现在Internet Explorer(6+)或Chrome中.
我试过寻找解决方案,但我总是到达死胡同.我会找到关于这个问题的讨论,每个发布的解决方案都会导致死链接......或者它在Expert Exchange上,我无权查看解决方案.
这个问题似乎与我所阅读的内容有关(不同之处)是不同浏览器发送身份验证标头的方式与IIS如何解释它们的关系.我不知道我能做些什么来改变这个呢?我发现的其中一个解决方案提到编写一个ISAPI过滤器来解决这个问题,但当然完成过滤器的链接已被破坏,我不知道如何自己制作一个.
我已经尝试在about:config中弄乱NTLM和其他与auth相关的字符串,试图强迫Firefox信任我的服务器,但这似乎也不起作用.
从我读过的其他一些资料来看,如果我切换回Windows身份验证,似乎一切都应该有效,但后来我回到了第一方,验证只适用于某些用户,而不适用于其他用户.
这两个问题的解决方案对我都有用,但我对Windows身份验证问题的信息很少.如果有人可以指导我追踪问题,我也很乐意为此发布更多信息.
以下是我发现的讨论看似同样问题的网址.(对不起,我无法将它们全部链接起来,否则不会让我发帖)
这是FF中的一个已知错误.请参阅Internet Explorer中的高级摘要式身份验证,但我们会从火狐的每个GET请求中收到多个身份验证提示
IE 6有同样的bug.一个潜在的解决方法是在IIS6中重新启用"旧"摘要:
目前,如果服务器发送opaque指令,则IE客户端将返回RFC中指定的该指令值.不幸的是,对于来自客户端的后续请求,其中随机数增加(计数2和更高),不发送opaque指令值.然后,服务器上的身份验证失败,并返回401 Unauthorized.IE客户端现在请求新挑战的用户名和密码,并检索文件.
这需要额外的往返,并且每次都提示用户输入凭证.
RFC声明必须始终根据客户端的请求发送opaque.IE6使用的Digest实现不符合RFC(http://www.ietf.org/rfc/rfc2617.txt).
3.2.2授权请求标头opaque和algorithm字段的值必须是所请求实体的WWW-Authenticate响应头中提供的值.
3.3摘要操作客户端应记住与认证会话相关联的用户名,密码,随机数,随机数和不透明值,以用于在该保护空间内的未来请求中构造授权头.
由于客户端需要在会话期间返回服务器为其提供的opaque指令的值,因此不透明数据可用于传输身份验证会话状态信息.--------编辑补充-----
Windows身份验证似乎只适用于某些用户,而不适用于其他用户.怎么会失败?你启用了模仿吗?
| 归档时间: |
|
| 查看次数: |
5350 次 |
| 最近记录: |