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, тогда имя пользователя может быть только именем пользователя.
Я надеюсь, что это разъяснение поможет.