HP91 Ответов: 1

Как мне подключиться и подтвердить, если пользователь находится в active directory и авторизация правильная.


Привет,

у меня возникла проблема с авторизацией пользователя с подключением LDAP к Active Directory. Я хочу проверить, правильно ли пользователь ввел имя пользователя и пароль, а также находится ли он в одной конкретной группе объявлений.
Как я должен справиться с этим ?
Кто-нибудь может помочь ?

Что я уже пробовал:

Какой-то другой код, но это не было решением моей проблемы

1 Ответов

Рейтинг:
5

Garth J Lancaster

1-я часть, проверка учетных данных, нуждается в системе.Каталог.Управление счетами

// create a "principal context" - e.g. your domain (could be machine, too)
using(PrincipalContext pc = new PrincipalContext(ContextType.Domain, "YOURDOMAIN"))
{
    // validate the credentials
    bool isValid = pc.ValidateCredentials("myuser", "mypassword");
}
.. 2-я часть, получить группы
public List<GroupPrincipal> GetGroups(string userName)
{
   List<GroupPrincipal> result = new List<GroupPrincipal>();

   // establish domain context
   PrincipalContext yourDomain = new PrincipalContext(ContextType.Domain);

   // find your user
   UserPrincipal user = UserPrincipal.FindByIdentity(yourDomain, userName);

   // if found - grab its groups
   if(user != null)
   {
      PrincipalSearchResult<Principal> groups = user.GetAuthorizationGroups();

      // iterate over all groups
      foreach(Principal p in groups)
      {
         // make sure to add only group principals
         if(p is GroupPrincipal)
         {
             result.Add((GroupPrincipal)p);
         }
      }
   }

   return result;
}
затем выполните запрос LINQ для возвращенных групп

Этот Запрос и обновление Active Directory с помощью C# (C Sharp)[^] также может быть полезен


Sandeep Mewara

+5

HP91

Большое спасибо за вашу помощь :)