And*_*rei 17 .net asp.net asp.net-mvc windows-authentication asp.net-mvc-4
当我在IIS上托管我的ASP.NET MVC项目时,Windows身份验证工作正常.但是,如果我从Visual Studio运行它 - 它没有.
这是我的Web.config:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
Dar*_*rov 34
如果您在IIS Express(您可能应该)中托管,请确保已在Web应用程序的属性中启用了Windows身份验证.
顺便说一下,如果您使用Intranet应用程序模板在Visual Studio中创建一个新的ASP.NET MVC 4应用程序,您将在屏幕上看到以下自述文件.所以,继续吧,试一试,阅读并按照那里写的内容:
要将此模板与Windows Azure身份验证配合使用,请参阅 http://go.microsoft.com/fwlink/?LinkID=267940.
否则,要将此模板与Windows身份验证一起使用,请参阅以下说明:
在IIS Express上托管:
- 在解决方案资源管理器中单击您的项目以选择项目.
- 如果"属性"窗格未打开,请将其打开(F4).
- 在项目的"属性"窗格中:
a)将"匿名身份验证"设置为"已禁用".
b)将"Windows身份验证"设置为"已启用".在IIS 7或更高版本上托管:
- 打开IIS管理器并导航到您的网站.
- 在"功能视图"中,双击"身份验证".
- 在Authentication页面上,选择Windows身份验证.如果Windows身份验证不是一个选项,则需要确保在服务器上安装了Windows身份验证.
要在Windows上启用Windows身份验证:
a)在控制面板中打开"程序和功能".b)选择"打开或关闭Windows功能".c)导航到Internet信息服务>万维网服务>安全性,并确保选中Windows身份验证节点.
要在Windows Server上启用Windows身份验证:
a)在服务器管理器中,选择"Web服务器(IIS)",然后单击"添加角色服务".b)导航到Web Server> Security并确保选中Windows身份验证节点.
- 在"操作"窗格中,单击"启用"以使用Windows身份验证.
- 在"身份验证"页面上,选择"匿名身份验证
- 在"操作"窗格中,单击"禁用"以禁用匿名身份验证.
我无法让 @Darin Dimitrov 解决方案正常工作(主要是因为我找不到 Visual Studio 中描述的 IIS Express 设置!)。
我发现我必须编辑 IIS Expressapplication.config文件:
%userprofile%\documents\iisexpress\configconfig隐藏.vs文件夹中的文件夹中(只需\.vs\config在 Windows 资源管理器中添加即可)。并修改:
<windowsAuthentication enabled="false">
Run Code Online (Sandbox Code Playgroud)
到:
<windowsAuthentication enabled="true">
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
19888 次 |
| 最近记录: |