2009-07-22 20 views
14

Próbuję skonfigurować usługę ActiveDirectoryMembershipProvider, ale nadal pojawia się komunikat "Nie można ustanowić bezpiecznego połączenia z serwerem".ActiveDirectoryMembershipProvider - "Nie można ustanowić bezpiecznego połączenia"

Widziałem online na stronie MSDN, że powinienem skonfigurować poziom zaufania do nieograniczonego w mojej witrynie i nadal mam to.

Oto mój przykład:

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

Odpowiedz

5

Ty dostarczanie co wygląda jak kontener zamiast rzeczywistej nazwy użytkownika, aby być wykorzystane w tworzeniu połączenia AD. Podaj kanoniczną nazwę użytkownika z odpowiednimi poświadczeniami, aby uzyskać dostęp do AD. Zwróć uwagę, że jeśli serwer znajduje się w tej samej domenie, użytkownik systemu sieciowego, którego proces roboczy uruchomi, może już mieć wystarczające uprawnienia i nie będziesz musiał podawać nazwy/hasła w ogóle.

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

    </add> 
+0

Dzięki. To przesunęło mnie o krok do przodu. Dostałem kolejny błąd, ponieważ "podane dane uwierzytelniające są nieprawidłowe". Dzieje się tak tylko w przypadku zezwolenia na tryb uwierzytelniania w "Formularzach". Jeśli zmienię go na "Windows", to jestem automatycznie uwierzytelniany. – Pablo

1

Nazwa użytkownika połączenia może mieć różne formaty w zależności od konfiguracji. Jeśli użytkownik zostanie dodany do roli użytkownika tylko jako DN (nazwa wyróżniająca), wówczas można użyć formatu CN = nazwa użytkownika, DC = container

Jeśli użytkownik zostanie dodany do roli użytkownika jako użytkownik systemu Windows, wówczas nazwa użytkownika może być tylko nazwą użytkownika.

Mam nadzieję, że to wyjaśnienie pomaga.

Powiązane problemy