Поставщик членства в Active Directory работает только для администратора.

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

<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);

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


person dexter    schedule 02.11.2010    source источник


Ответы (2)


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

Из статьи...

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

Кроме того, этот пост.

person Andrew Flanagan    schedule 02.11.2010

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

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

to

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

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

person dexter    schedule 02.11.2010