Могу ли я получить доступ и имя пользователя Active Directory в веб-форме? - PullRequest
0 голосов
/ 16 февраля 2012

У меня есть веб-форма, расположенная на экземпляре IIS на сервере в нашем домене Active Directory.

Когда пользователь в домене посещает веб-форму, могу ли я программно захватить его имя пользователя AD, используя что-то вроде ...

Page.User.Identity.Name

Или это просто будет сообщать имя учетной записи, под которой работает IIS?

Нужно ли, чтобы пользователь специально входил в систему, чтобы я мог найти их в AD?

Если нет, есть ли другие идентификаторы, которые я могу зафиксировать, или это невозможно по соображениям безопасности?

1 Ответ

1 голос
/ 16 февраля 2012

Вы можете использовать встроенную аутентификацию Windows (IWA), если ваши пользователи будут находиться в одном домене.При использовании этого метода аутентификации идентификация должна автоматически быть доступна в вашем приложении.

На сайте ASP.NET есть руководство по настройке сайта MVC с IWA.Я знаю, что вы используете WebForms, но код довольно понятен.

Если вы хотите запросить дополнительную информацию из активного каталога, просто используйте что-то похожее на следующее (если у вас есть .NET 3.5 или более поздняя версия)где доступна библиотека System.DirectoryServices.AccountManagement):

using (PrincipalContext context = new PrincipalContext(ContextType.Domain, "yourDomainName")) {
   using (UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.UserPrincipalName, theUserName)) {
      if (user != null) {
         //Do something with the user object.
      }
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...