Интеграция Active Directory в мой сайт asp.net - PullRequest
1 голос
/ 30 июня 2010

На моем веб-сайте я хочу использовать активных пользователей каталога для аутентификации. как я могу это сделать.

Ответы [ 2 ]

2 голосов
/ 30 июня 2010

Если вам необходимо выполнить программную проверку учетных данных в Active Directory, вы должны использовать новые классы System.DirectoryServices.AccountManagement, доступные в .NET 3.5.

Для получения дополнительной информации прочитайте Управление принципами безопасности каталогов в .NET Framework 3.5 в выпуске журнала MSDN Magazine за январь 2008 года. ПРИМЕЧАНИЕ: только загрузка CHM

Для проверки учетных данных вам необходимо создать основной контекст - либо компьютер (один сервер), либо домен (сеть), а затем вызвать на нем метод .ValidateCredentials():

using System.DirectoryServices.AccountManagement;

PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "YOURDOMAIN");

if(ctx.ValidateCredentials(userName, password))
{
    // user is validated
}

Довольно просто, не правда ли? Это прекрасно работает, если ваши пользователи должны войти в систему, используя форму, где они вводят имя пользователя и пароль, и вы можете получить их, чтобы проверить их учетную запись.

2 голосов
/ 30 июня 2010

Вам необходимо указать аутентификацию Windows в вашем файле web.config

<system.web>
    <authentication mode="Windows"/>
</system.web>

Затем настроить блоки разрешения / запрета для указания пользователей, имеющих доступ и т. Д.

<authorization>
  <allow roles="AuthorizedADGroup" />
  <allow users="AllowedUserName" />
  <deny users="*" />
  <deny users="?"/>      
</authorization>
...