User.Identity.Name =“”(匿名)但启用了Windows身份验证?

时间:2018-05-29 16:49:38

标签: c# .net asp.net-mvc ldap windows-authentication

我通过自定义AuthorizeAttribute实现创建了一个带有以下覆盖的ASP.NET MVC应用程序:

protected override bool AuthorizeCore(HttpContextBase httpContext)
{
    return base.AuthorizeCore(httpContext);
}

但是,在此方法中,httpContext.User.Identity.Name为“”。我需要获得当前Identity.Name的句柄,以便我可以根据该值检索一些数据。我在web.config中有以下条目:

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

至少,我认为MVC网站应该提示我使用上面的配置凭据,对吧?

1 个答案:

答案 0 :(得分:0)

我能够使用以下备用代码获取网络用户ID:

Request.LogonUserIdentity.Name

使用此代码是否有任何影响或影响,而不是:

httpContext.User.Identity.Name