繁体   English   中英

ASP.NET MVC Windows身份验证显示登录提示而不是登录

[英]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 ID或Windows组(如果有多个用户)是否在“组或用户名”框下拥有对此站点的正确权限
  • 如果用户或组不在,请单击“编辑”按钮,然后单击“添加”按钮

还要检查是否启用了 “Windows身份验证”,并且IIS上的应用程序都禁用了“匿名身份验证”和“ASP.NET模拟”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM