Kurkula
Kurkula

Reputation: 6762

C# Active directory Principal display name is null

I am trying to display full name of user from active directory. It works fine on my local. But when I publish this code to IIS on server it shows display name as null. What may be the issue? My account is using windows authentication.

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

Upvotes: 0

Views: 543

Answers (1)

Thomas Sauvajon
Thomas Sauvajon

Reputation: 1700

I had to use HostingEnvironment.Impersonate() in order to access my AD properties on my IIS server. (It worked without it on local)

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

Also, you'd have to change your Application Pool's identity from "AppPoolIdentity" to "NetworkService".

Upvotes: 1

Related Questions