получить учетные данные для входа в домен

#c# #dns #get

#c# #dns #получить

Вопрос:

Я хочу получить учетные данные сетевого домена пользователя с помощью моего кода.

 string user = Environment.UserName;
string userName = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
  

Я могу получить ИМЯ с помощью приведенных выше примеров, но мне тоже нужен пароль. Возможно ли получить пароль?

Моя цель: я хочу использовать учетные данные пользователя для входа в домен в своем коде, чтобы пользователю не нужно было снова входить в мое приложение Windows …, но я должен использовать учетные данные для входа для аутентификации SOAPHeader…

С уважением…

Комментарии:

1. Is It possible to get password? Нет.

Ответ №1:

Смотрите Этот поток.

Это то, что у вас уже есть:

Вы можете получить текущий идентификатор пользователя, под которым выполняется текущий поток (не обязательно вошедшего в систему пользователя), используя WindowsIdentity .GetCurrent() . В качестве альтернативы вы можете получить имя пользователя, вошедшего в систему, через среду.Свойство имени пользователя. Однако не гарантируется, что это будет пользователь, выполняющий текущий процесс.

Возможно ли восстановить пароль? Нет, пароль не хранится в Windows:

Для получения пароля пользователя нет Windows API, поскольку пароли не хранятся в Windows. Вместо этого Windows хранит одностороннюю хэшированную версию.

Надеюсь, это поможет!

РЕДАКТИРОВАТЬ: Документация: вот связанные документы для GetCurrent() и возвращаемое значение WindowsIdentity .