asp.net - 在 .NET 4 MVC 2 中启用 Windows 身份验证

标签 asp.net asp.net-mvc-2 iis-6 .net-4.0 windows-authentication

我有一个 Intranet 站点读取 Windows 用户名并使用它在网站中进行身份验证。

我的代码可以在本地运行,但在 Windows Server 2003 上使用 IIS 6 进行托管并选中匿名访问时,不会读取登录名。如果我取消选中匿名访问,那么在 Firefox 中,我会不断弹出用户名和密码的窗口,而且永远不会结束。在 IIS 6 中,它设置为框架 4,并拥有自己的应用程序池。

User.Identity.Name -在服务器上返回空白,但在本地工作正常

网络配置: <authentication mode="Windows"/> <identity impersonate="true"/>

我有一个较旧的 3.5 Webforms 网站,可以在同一服务器上正常运行..

最佳答案

查看分配用于运行应用程序池的 Windows 帐户。它对您的.Net 应用程序有授权吗?

要使用 Windows 身份验证,您需要取消选中匿名访问。

删除 impersonate 属性,或将其设置为 false(默认值)。

您可以将应用程序池设置为使用网络服务帐户,然后授予网络服务帐户对 MVC 文件夹的读/写权限。

关于asp.net - 在 .NET 4 MVC 2 中启用 Windows 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3193721/

相关文章:

jquery - jqGrid saveRow 带有错误函数

c# - 如何解析对 asp.net mvc 中文件的文件路径引用

iis - IIS 如何确定要访问 localhost 的网站

IIS 重定向保留 QueryString?

c# - 如何确定 Web 应用程序当前是否正在运行

c# - C# 中的公式生成

c# - DateTime ParseExact 抛出异常与 hh vs HH

c# - .NET 4 上的 WCF 流式文件传输

asp.net - 使用主题的CSS文件需要页面上的 header 控件。 (例如<head runat =“server”/>)

c# - ASP.NET MVC 2 验证选择列表