ActiveDirectoryMembershipProvider - "Невозможно установить безопасное соединение"

Я пытаюсь настроить ActiveDirectoryMembershipProvider, но я продолжаю получать сообщение "Невозможно установить безопасное соединение с сервером".

Я видел онлайн на веб-сайте MSDN, что я должен настроить уровень доверия на неограниченный на моем сайте, и я все еще получаю это.

Вот мой пример:

<connectionStrings>

     <add name="LocalAD" connectionString="LDAP://example.com/dc=example,dc=com" />

</connectionStrings>


<membership defaultProvider="AspNetActiveDirectoryMembershipProvider">

    <providers>

        <add name="AspNetActiveDirectoryMembershipProvider"
             type="System.Web.Security.ActiveDirectoryMembershipProvider" 
             applicationName="adtest"
             connectionUsername="cn=Users"
             connectionPassword="password"
             connectionStringName="LocalAD" >

       </add>
    </providers>
</membership>

<trust level="Full" />

<authentication mode="Forms">
      <forms loginUrl="login.aspx"
             protection="All"
             timeout="30"
             name="miBenefitsAdminToolCookie"
             path="/"
             requireSSL="false"
             slidingExpiration="true"
             defaultUrl="Default.aspx"
             cookieless="UseCookies"
             enableCrossAppRedirects="false" />

 </authentication>

 <authorization>
      <deny users="?" />
      <allow users="*" />
 </authorization>

Ответы

Ответ 1

Вы поставляете то, что похоже на контейнер, а не фактическое имя пользователя, которое должно использоваться при подключении к AD. Укажите каноническое имя пользователя с достаточными учетными данными для доступа к AD. Обратите внимание: если сервер находится в том же домене, пользователь сети, в котором работает рабочий процесс, может уже иметь достаточно привилегий, и вам не нужно будет указывать имя/пароль вообще.

    <add name="AspNetActiveDirectoryMembershipProvider"
         type="System.Web.Security.ActiveDirectoryMembershipProvider" 
         applicationName="adtest"
         connectionUsername="cn=actualUser"
         connectionPassword="actualUsersPassword"
         connectionStringName="LocalAD">

   </add>

Ответ 2

Имя пользователя подключения может иметь разные форматы в зависимости от того, как он был настроен. Если пользователь добавляется к роли пользователя только как DN (различающееся имя), тогда можно использовать формат CN = username, DC = container

Если пользователь добавлен к роли пользователя в качестве пользователя Windows, тогда имя пользователя может быть только именем пользователя.

Я надеюсь, что это разъяснение поможет.