Вопрос : Получать групповое членство от LDAP


Я использую внизу Кодего для того чтобы найти вне потребитель будет частью группы admin. Я должен authenticate 2 типа потребителей одного буду членом и торговцем. Он работает с доменом члена и не работает с доменом торговца и не возвращает значение.  Может кто-нибудь помочь в этом Кодем.


Дорога сделать это в другой дороге authenticate потребители путем находить группу memberof некоторую.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
общественный шнур GetGroups ()
        {
            Поиск DirectorySearcher = новое DirectorySearcher (_path);
            поиск. Фильтр = «(cn=» + _filterAttribute + ") «;
            search.PropertiesToLoad.Add («memberOf»);
            groupNames StringBuilder = новое StringBuilder ();

            попытка
            {
                Результат SearchResult = search.FindOne ();
                propertyCount = результат int. Свойства [«memberOf»]. Отсчет;
                шнур dn;
                equalsIndex int, commaIndex;

                для (propertyCounter int = 0; propertyCounter  < propertyCount="">
           

Ответ : Получать групповое членство от LDAP


О'кейо Ahh, котор я вижу.

Так вы будете auth испытание LDAP здесь:

            Вход DirectoryEntry = новое DirectoryEntry (_path, domainAndUsername, pwd);

И то отлично, вы устанавливает authenticated соединение. Но с другой стороны вы судите за и строите искатель для групп как это:

            Поиск DirectorySearcher = новое DirectorySearcher (_path);

Вы падали authenticated соединение и теперь вы пытаетесь пройти в _path, создавая второе unauthenticated соединение, вместо authenticated DirectoryEntry.

Идеально вы хранили бы «вход» и использовали бы то.

например.

namespace FormsAuth
{
    общественный тип LdapAuthentication
    {
        общественное DirectoryEntry _entry;

       

        общественное bool IsAuthenticated (домен шнура, username шнура, pwd шнура)
        {
               
 
                //Update новый курс к потребителю в директории.
                _filterAttribute = результат (шнура). Свойства [«cn»] [0];
                _entry = result.GetDirectoryEntry ();
         }


После этого если вы authenticated, то вы можете вытянуть атрибут memberOf от DirectoryEntry довольно чем ищущ снова в GetGroups:

// iий думает… после того как оно испытано
Зашнуруйте [] memberOf = _entry. Свойства [«memberof»]

Крис
Другие решения  
  •  Как я добавляю кнопки на форме PDF для того чтобы добавить/извлекаю рядки данных?
  •  Шнур ошибки в блоке задвижки?
  •  сколько вариант сервера SQL на одной машине
  •  Внешний вид 2007 не может архивный файл открытой сети сохраненный
  •  Активно директория DNS записывает вопрос
  •  Отчет о доступа 2010 экспорта к CSV с коллекторами?
  •  Прокладчик OCE 9400 не начинает
  •  как добавить десятичное место в формуле в отчете о кристалла seagate
  •  Windows XP и Мичрософт Оутлоок и проблемы установителя Windows
  •  VB6 к VS2010 - консультации тренировки?
  •  
    programming4us programming4us