[英]IIS - Anonymous and Windows authentication enabled - which one is used?
[英]IIS Windows Authentication before Anonymous
我有一个网站,我想允许表格和Windows Auth for。 我的问题是,当您设置IIS以允许匿名(表单身份验证为必需)和Windows身份验证时,浏览器将不会发送用户的网络凭据。
它只使用匿名登录。 有没有办法在IE8或IIS中尝试Windows Auth 1st然后再回到匿名?
谢谢你的帮助。
您不能要求HTTP身份验证(无论是基本身份验证还是集成Windows身份验证),而不会在没有凭据的情况下弹出身份验证对话框。
因此,通常对于混合HTTP-auth + cookie-auth方法,您可以为站点的大部分启用匿名和经过身份验证的访问,但只允许对一个特定脚本进行身份验证访问。
当用户访问没有任何一种身份验证的页面时,您会吐出一个页面,其中包含基于cookie的身份验证的登录表单,以及指向仅允许经过身份验证访问的一个URL的链接。 用户可以填写表单以获取cookie和表单身份验证,或者点击链接以使用HTTP身份验证登录。
如果用户关注该链接,他们将获得401
响应,并且必须通过身份验证对话框提供HTTP身份验证,或者可能使用集成Windows身份验证自动提供。 一旦发生这种情况,浏览器将开始向每个未来页面提交相同的凭据,因此IIS将解析凭据,以便在运行主站点脚本时为您提供预期的REMOTE_USER
。
浏览器只会将凭据提交到与401
脚本相同的目录中的页面或其子目录。 因此,最好将HTTP-auth-required脚本放在根目录中,例如/login.aspx
。
但是,有一些浏览器不会自动提交其他页面的凭据,并且在使用凭据再次发送请求之前,要求每个HTTP请求首先响应401
。 这使得optional-auth和hybrid-auth方案变得不可能(以及使受保护站点的浏览速度慢得多!)。 唯一能做到这一点的现代浏览器是Safari。 您可能不在乎,因为Safari对集成Windows身份验证的支持传统上仍然不稳定,它仍然可以使用表单+ cookie auth类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.