Вход в активный каталог - PullRequest
0 голосов
/ 05 февраля 2011

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

И нет никаких доверительных отношений между двумя доменами.

Допустим, этот домен называется "test.com".

существует администратор с именем «test \ administrator» с паролем «admin_password»

Когда я установлю эти настройки с ActiveDirectoryMembershipProvider, я смогу получить доступ и войти в этот Active Directory и проверить пользователей. Я использую эти настройки

<configuration>
  <connectionStrings>
        <add name="ADService" connectionString="LDAP://test.com"/>
  </connectionStrings>
  <system.web>
     <compilation debug="true" targetFramework="4.0" />

      <authentication mode="Forms"> </authentication>

      <membership defaultProvider="AspNetActiveDirectoryMembershipProvider">
        <providers>
          <add name="AspNetActiveDirectoryMembershipProvider" connectionStringName="ADService" connectionUsername="test\administrator" connectionPassword="admin_password"
               type="System.Web.Security.ActiveDirectoryMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral,PublicKeyToken=b03f5f7f11d50a3a"
               connectionProtection="None" requiresUniqueEmail="false" enableSearchMethods="true" applicationName="/"/>
        </providers>
      </membership>
</configuration>

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

и это мой код

DirectoryEntry de = new DirectoryEntry("LDAP://test.com", "test\administrator", "admin_password", AuthenticationTypes.ServerBind);

            var ds = new DirectorySearcher(de) { Filter = string.Format("(&(objectClass=user)(sAMAccountName={0}))", "user1@test.com") };
            SearchResultCollection users = ds.FindAll();

Я перепробовал все типы AuthenticationTypes, но ничего не получалось Любая идея, пожалуйста

1 Ответ

0 голосов
/ 05 февраля 2011

Я обнаружил проблему, это было очень глупо, доменное имя должно быть прописным, поэтому имя пользователя должно быть TEST \ administrator

Я удивлен, что поставщик членства смог справиться с этим.*

...