は、私が正常に認証するためにLDAPを介してActive Directoryに接続している、と私ldap.xmlに次に私は私のカスタム当局は、ポピュレータと呼ばました:Spring SecurityとActiveDirectoryLdapAuthenticationProviderでカスタム権限ポピュレータを使用するにはどうすればいいですか?
<bean id="ldapAuthenticationProvider"
class="org.springframework.security.ldap.authentication.LdapAuthenticationProvider">
<constructor-arg ref="ldapBindAuthenticator"/>
<constructor-arg ref="ldapAuthoritiesPopulator"/>
</bean>
<bean id="ldapBindAuthenticator"
class="org.springframework.security.ldap.authentication.BindAuthenticator">
<constructor-arg ref="ldapServer"/>
<property name="userSearch" ref="ldapSearch"/>
</bean>
<bean id="ldapSearch"
class="org.springframework.security.ldap.search.FilterBasedLdapUserSearch">
<constructor-arg value="CN=Users"/>
<constructor-arg value="(sAMAccountName={0})"/>
<constructor-arg ref="ldapServer"/>
</bean>
<bean id="ldapAuthoritiesPopulator"
class="my.project.package.ActiveDirectoryLdapAuthoritiesPopulator"/>
<bean id="ldapServer"
class="org.springframework.security.ldap.DefaultSpringSecurityContextSource">
<constructor-arg value="ldap://192.168.0.2/dc=test,dc=server"/>
<property name="userDn" value="[email protected]"/>
<property name="password" value="ldap"/>
<property name="baseEnvironmentProperties">
<map>
<entry key="java.naming.referral">
<value>follow</value>
</entry>
</map>
</property>
</bean>
これは正常に動作し、私は、ユーザーの確認することができ、承認は、彼女のグループメンバーシップに基づいて、私はむしろ、組み込みのActive DirectoryのLDAP認証プロバイダを介してこれを行うだろう:そう、
<bean id="ldapAuthenticationProvider"
class="org.springframework.security.ldap.authentication.ad.ActiveDirectoryLdapAuthenticationProvider">
<constructor-arg value="test.server"/>
<constructor-arg value="ldap://192.168.0.2:389"/>
<property name="convertSubErrorCodesToExceptions" value="true"/>
</bean>
上記の問題は私のカスタム当局ポピュレータ(明らかに)ですが呼び出されていないということです私は(上記で動作する)私のユーザーを認証することができますが、私は(私は認可を決定する必要がある)グループなしで残されています。
私はこれが簡単な質問だと思っていますが、私の人生では私はここで答えを見つけられません。 ActiveDirectoryLdapAuthenticationProviderクラスを拡張し、そこから私の当局のpopulatorを呼び出す必要がありますか?
(このサイトが何年にも渡って私に与えてくれたおかげで、このサイトの有効性は、最近アカウントを作成することに悩まされたという事実によって分かります。