Get UPN or email for logged in user in a .NET web application

.net, active-directory, c#

Solution

Meanwhile (.NET 3.5) this is a one-liner:

System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress

for the email, or

System.DirectoryServices.AccountManagement.UserPrincipal.Current.UserPrincipalName

for the UPN.

Problem

I'm not a .NET developer, and I have a feeling this would be trivial for someone who is: I have a C# web application that makes user of the user credentials of the logged in user. Currently it uses the SID which comes from ``` System.Security.Principal.WindowsIdentity.GetCurrent().User.Value ``` I need to get either the users UPN login or email address (as defined in active directory) instead of the SID. GetCurrent() returns an object of type WindowsIdentity; looking in the details for WindowsIdentity Members: MSDN: WindowsIdentity Members I can't see anything that looks like it would give me either the UPN or email in there. How can I pull up that information to use, either by feeding the SID into some other function or calling something different in the first place.

Original source