Active Directory Membership Provider работает только для Администратора - PullRequest
1 голос
/ 03 ноября 2010

Добрый день, я тяну свои волосы на этом .. У меня есть поставщик членства в Active Directory, настроенный так:

<system.web>
<membership>
<providers>
<clear/>
<add name="dev"
 type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web,       Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
 connectionStringName="DevTestConnStr"
 attributeMapUsername="sAMAccountName"
 connectionUsername="dev\Administrator"
 connectionPassword="Password" 
 applicationName="/web"  
  />

Поставщик создается правильно, но когда я вызываю это:

var user = Membership.Providers["myDomain"].GetUser("myUser", false);

вызов всегда возвращает ноль, за исключением случая, когда я передаю "Администратор" в вызов ... У меня закончились идеи о том, как заставить его работать.Пожалуйста, помогите!

Ответы [ 2 ]

2 голосов
/ 03 ноября 2010

Вы можете проверить эту статью MSDN .

Из статьи ...

Сервисный аккаунт, который вы используете для подключение к Active Directory должно иметь достаточные разрешения в Active Справочник. Если вы разместите свой пользователь учетные записи в Active Directory организационная единица (OU), вы можете создать и использовать служебную учетную запись, которая только читать, писать и удалять доступ к этому OU (и, необязательно, сбросить пароль).

Также этот пост .

1 голос
/ 03 ноября 2010

Так же, как когда я уже был готов к освобождению под залог, я решил изменить строку подключения LDAP с:

"LDAP://dev.local/CN=Users,DC=Dev,DC=local" 

на

"LDAP://dev.local/DC=Dev,DC=local". 

Теперь работает как положено!

...