Создайте WindowsIdentity, используя только домен и имя пользователя - PullRequest
6 голосов
/ 09 мая 2011

Я создаю сайт, который получает информацию о пользователе, используя WindowsIdentity текущего пользователя.Основная информация, которую я получаю от этого, это ssid.

Я делаю это для текущих пользователей следующим образом

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

Что мне нужно сделать сейчас, и мне не удается это получитьssid для любого произвольного имени пользователя, которое существует в домене.

Я пробовал WindowsIdentity (строка), но это дало мне исключение SecurityException

Указанное имя не является правильно сформированным именем учетной записи.

1 Ответ

5 голосов
/ 09 мая 2011

Как вы форматируете основной? Обычно они принимают форму user@domain.ext, поэтому, если ваша AD предоставляет основное разрешение, скажем, example.com, имя участника-пользователя (UPN) может выглядеть следующим образом: joe.bloggs@example.com. Конструктор WindowsIdentity(string) принимает имя пользователя UPN, а не имя пользователя более старого формата EXAMPLE\joe.bloggs

...