Ich habe derzeit meine ldap-Authentifizierung Kontext wie folgt eingerichtet:
<ldap-server url="ldap://host/dn"
manager-dn="cn=someuser"
manager-password="somepass" />
<authentication-manager>
<ldap-authentication-provider user-search-filter="(samaccountname={0})"/>
</authentication-manager>
Nun muss ich in der Lage sein, einen benutzerdefinierten Behörden-Mapper einzurichten (er verwendet einen anderen ldap-Server) - ich nehme also an, dass ich meinen ldap-Server ähnlich einrichten muss wie ( http://static.springsource.org/spring-security/site/docs/2.0.x/reference/ldap.html ):
<bean id="ldapAuthProvider"
class="org.springframework.security.providers.ldap.LdapAuthenticationProvider">
<constructor-arg>
<bean class="org.springframework.security.providers.ldap.authenticator.BindAuthenticator">
<constructor-arg ref="contextSource"/>
<property name="userDnPatterns">
<list><value>uid={0},ou=people</value></list>
</property>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.ldap.populator.DefaultLdapAuthoritiesPopulator">
<constructor-arg ref="contextSource"/>
<constructor-arg value="ou=groups"/>
<property name="groupRoleAttribute" value="ou"/>
</bean>
</constructor-arg>
</bean>
Aber wie referenziere ich diesen "ldapAuthProvider" auf den ldap-Server im Sicherheitskontext?
Ich verwende auch spring-security 3, also gibt es '' nicht...
0 Stimmen
Ich war ziemlich verwirrt, als ich Ihre Frage in der Überschrift sah und Ihre Informationen unten las. Für mich ein Authentifizierung mit dem Benutzernamen und dem Kennwort verbunden ist, während das eigentliche Problem meines Erachtens darin besteht Autorisierung . Wie Antworten unten bereits erwähnt den benutzerdefinierten Populator wie diese detaillierte Beschreibung eines benutzerdefinierten Populators . Kannst du den Text vielleicht stattdessen in Behörden-Populator ändern? :)