8

I am building a site that gets user information using the WindowsIdentity of the current user. The main info I get from this is the ssid.

I do this for the current users as follows

IntPtr logonToken = WindowsIdentity.GetCurrent().Token;
WindowsIdentity windowsId = new WindowsIdentity(logonToken);
string ssid = windowsId.User.ToString();

What I need to do now, and am failing at, is getting the ssid for any arbitrary username that exists on the domain.

I tried WindowsIdentity(string), but that gave me a SecurityException

The name provided is not a properly formed account name.

Kiquenet
  • 14,494
  • 35
  • 148
  • 243
Matt
  • 4,140
  • 9
  • 40
  • 64

1 Answers1

6

How are you formatting the principal? Generally they take the form of [email protected], so if your AD provides principal resolution on say example.com, a user principal name (UPN) may look like: [email protected]. The WindowsIdentity(string) constructor accepts a UPN, not an older format username EXAMPLE\joe.bloggs

Matthew Abbott
  • 60,571
  • 9
  • 104
  • 129