Windows身份验证无法在现有的asp.net站点中运行

时间:2014-06-12 13:43:52

标签: asp.net-mvc asp.net-4.5

我有一个现有的asp.net站点,我想修改它以使用Windows身份验证(它位于本地Intranet上。)

我修改了web.config文件以使用Windows Auth:

<configuration>
 <system.web>
  <authentication mode="Windows"/>
  <authorization>
  <deny users="?"/>
 </authorization>
 <compilation debug="true"/>
</system.web>

我得到的错误信息是:

401.2.: Unauthorized: Logon failed due to server configuration.

如果我删除:<deny users="?"/>则会显示该页面。但是,此代码显示尽管User不为null,但用户未登录:

    protected void Page_Load(object sender, EventArgs e)
    {
        var userName = HttpContext.Current.User.Identity.Name;
    }

我尝试过:

在Visual Studio中,如果我创建一个新的MVC应用程序,并选择&#34; Windows身份验证&#34;它按预期工作,用户使用域名登录。

将项目简化为web.config和单个aspx页面仍然有效。但是当我尝试在现有项目中使用完全相同的web.config(或者一个新的空项目)时,我得到了同样的错误。

所以必须在某处设置其他设置,但我无法确定它是什么。

1 个答案:

答案 0 :(得分:1)

我找到了这个here

的答案

在Visual Studio中,在“解决方案资源管理器”中选择“项目”,然后按 F4 以查看项目属性。注意:这些属性位于窗口(通常),而不是主(中心)窗口。

组: 1)启用Windows身份验证和 2)禁用匿名身份验证。