Spring Security 3.1 Active Directory-Authentifizierung

Bin ich Anschluss an meine ANZEIGE mit der nächsten Konfiguration:

    class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
    <beans:constructor-arg value="mydomain" />
    <beans:constructor-arg value="ldap://my URL :389" />
    <beans:property name="convertSubErrorCodesToExceptions" value="true"/>
</beans:bean>

Die Verbindung ist in Ordnung, denn wenn ich Schreibe ein Falsches login/Passwort, bekomme ich "bad credentials" (Benutzer wurde nicht gefunden im Verzeichnis)

Aber wenn ich versuchen, mit einer richtigen login und Passwort, bekomme ich eine exception:

org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 1, actual 0
    at org.springframework.security.ldap.SpringSecurityLdapTemplate.searchForSingleEntryInternal(SpringSecurityLdapTemplate.java:239)
    at org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider.searchForUser(ActiveDirectoryLdapAuthenticationProvider.java:258)
....
  • Die Fehler, die Sie bekommen und zeigt an, dass der Benutzername/Passwort finden, scheiterten searchForSingleEntryInternal. Wenn Sie einen Haltepunkt auf Zeile 210 sehen, was die Werte der Parameter sind für den Aufruf von ctx.Suche(searchBaseDn, filter, params, searchControls);
  • Versuchen Sie auch die Verwendung eines externen LDAP-tool (wie z.B. ldaptool.sourceforge.net) um zu sehen, ob Sie tun können, ein LDAP-bind mit dem Benutzernamen und dem Kennwort auf die domain in deinem test-setup.
Schreibe einen Kommentar