当我从Visual Studio运行项目时,Windows身份验证不起作用

问题描述 投票:17回答:2

当我在IIS上托管ASP.NET MVC项目时,Windows身份验证效果很好。但是,如果我从Visual Studio中运行它,则不会。

这是我的Web.config:

<authentication mode="Windows" />
<authorization>
  <deny users="?" />
</authorization>

我想念什么吗?

asp.net .net asp.net-mvc asp.net-mvc-4 windows-authentication
2个回答
35
投票

如果您托管在IIS Express中(可能应该这样做),请确保已在Web应用程序的属性中启用Windows身份验证。

如果使用Intranet应用程序模板在Visual Studio中创建新的ASP.NET MVC 4应用程序,则会在屏幕上看到以下自述文件。因此,继续尝试,阅读并遵循那里写的内容:

要将此模板用于Windows Azure身份验证,请参阅http://go.microsoft.com/fwlink/?LinkID=267940

否则,要将此模板用于Windows身份验证,请参阅以下说明:

在IIS Express上托管:

  1. 在解决方案资源管理器中单击您的项目以选择该项目。
  2. 如果“属性”窗格未打开,则将其打开(F4)。
  3. 在项目的属性窗格中:a)将“匿名身份验证”设置为“禁用”。b)将“ Windows身份验证”设置为“启用”。

在IIS 7或更高版本上托管:

  1. 打开IIS管理器并导航到您的网站。
  2. 在功能视图中,双击身份验证。
  3. 在“身份验证”页面上,选择Windows身份验证。如果没有Windows身份验证,则需要确保Windows身份验证已安装在服务器上。

要在Windows上启用Windows身份验证:

a)在控制面板中,打开“程序和功能”。b)选择“打开或关闭Windows功能”。c)导航到Internet信息服务>万维网服务>安全性,并确保已选中Windows身份验证节点。

要在Windows Server上启用Windows身份验证:

a)在服务器管理器中,选择Web服务器(IIS),然后单击“添加角色服务”。b)导航到Web服务器>安全性,并确保已选中Windows身份验证节点。

  1. 在“操作”窗格中,单击“启用以使用Windows身份验证。”>
  2. 在“身份验证”页面上,选择匿名身份验证。
  3. 在“操作”窗格中,单击“禁用”以禁用匿名身份验证。

3
投票

我无法完全使用@Darin Dimitrov解决方案(主要是因为我找不到Visual Studio中描述的IIS Express设置!)。

© www.soinside.com 2019 - 2024. All rights reserved.