[英]ASP.NET MVC Windows Authentication is displaying login prompt instead of logging me in
基于这篇文章,我使用Visual Studio 2013 Intranet Site
模板创建了一个基本的ASP.NET MVC站点,其中包含默认设置并且不做任何更改。
在调试模式下运行站点而不是登录并显示我的domain\\username
时,系统会提示我在“需要Authentication Required
对话框中输入我的用户名/密码。
我的印象是,由于我已经对域进行了身份验证,因此我应该使用我的AD帐户直接登录到应用程序,而无需输入任何内容。 当我尝试明确输入我的AD名称或本地用户帐户时,不接受任何内容。
编辑
如果我使用Firefox键入我的用户名/密码,我会通过身份验证,但不会使用Chrome和IE。
有任何想法吗?
你遇到的是长期以来对Windows身份验证感到沮丧的事情。 Internet Explorer具有称为传递身份验证的功能,可在使用Windows身份验证时自动对您进行身份验证。 其他浏览器有解决方法: https : //addons.mozilla.org/en-US/firefox/addon/integrated-auth-for-firefox/ 。
系统管理员可以为其他浏览器实现这些措施,但是没有人这样做,所以我们在IE浏览器的每个浏览器中都输入了完整的用户名和密码。
你可以做的是遵循这种方法: http : //blogs.msdn.com/b/chunliu/archive/2010/09/21/creating-a-custom-login-page-for-windows-authentication.aspx
这并不像启用Windows身份验证那样简单,甚至可以实现表单身份验证,但考虑一种情况,您希望基础架构管理权限和管理用户帐户,或者您希望在不暴露AD的情况下全局公开登录页面。
IE不会将凭据传递给站点,除非它位于Intranet安全区域或同一域中。 您可以使用,将您的站点添加到IE的可信站点列表中
Internet Options > Security > Trusted sites > Sites
Chrome从IE的设置中获取其受信任的网站设置,因此一旦您添加到IE,它也应该在Chrome中运行
检查您的IIS(Internet Information Server)管理器,查看您的应用程序是否具有该用户的正确权限。
还要检查是否启用了 “Windows身份验证”,并且IIS上的应用程序都禁用了“匿名身份验证”和“ASP.NET模拟”。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.