C#活动目录主体显示名称为空

时间:2017-02-01 08:09:08

标签: c# asp.net-mvc iis active-directory

我正在尝试从活动目录显示用户的全名。它在我的本地工作正常。但是,当我将此代码发布到服务器上的IIS时,它将显示名称显示为null。可能是什么问题?我的帐户正在使用Windows身份验证。

using (var context = new PrincipalContext(ContextType.Domain))
            {
                var principal = UserPrincipal.FindByIdentity(context, User.Identity.Name);
                var displayName = principal?.DisplayName; 
}

1 个答案:

答案 0 :(得分:1)

我必须使用HostingEnvironment.Impersonate()才能访问我的IIS服务器上的AD属性。 (它没有在当地工作)

using (HostingEnvironment.Impersonate())
{
  // your code
}

此外,您必须更改应用程序池的身份,以及#34; AppPoolIdentity"到" NetworkService"。