1

私は春が初めてなので、私の質問がばかげているなら許してください...

SpringWebアプリケーションでセキュリティを構成するためのいくつかの例に従おうとしています。LDAPディレクトリで動作するように設定しました。次に、プロセスにキャッシュを追加して、要求されるたびにldapディレクトリから資格情報がフェッチされないようにする必要があります。

このためcache-ref="userCache"に、チュートリアルに示すように追加しました。

<authentication-manager>
   <authentication-provider>
     ...
    <ldap-user-service server-ref="ldapServer"
       user-search-filter="uid={0}" user-search-base="ou=people"
       group-search-filter="member={0}" group-search-base="ou=groups"
       cache-ref="userCache" />
   </authentication-provider>
</authentication-manager>

BeanuserCacheは次のように定義されます:

 <beans:bean id="userCache"             
    class="org.springframework.security.providers.
    dao.cache.EhCacheBasedUserCache">
    <beans:property name="cache" ref="userEhCache" />
 </beans:bean>
 <beans:bean id="userEhCache"
     class="org.springframework.cache.ehcache.EhCacheFactoryBean">
     <beans:property name="cacheManager" ref="cacheManager" />
     <beans:property name="cacheName" value="userCache" />
 </beans:bean>

キャッシュマネージャーは次のように定義されます。

  <bean id="cacheManager"
   class="org.springframework.security.core.userdetails.cache.EhCacheManagerFactoryBean" />

この構成の問題は、古いバージョンのSpring 2に基づいているため、jarファイルを取得できなかったことです。使用して取得したキャッシュマネージャー

 <bean id="cacheManager"
 class="net.sf.ehcache.CacheManager" />

しかし、org.springframework.cache.ehcache.EhCacheFactoryBeanorg.springframework.security.providers.dao.cache.EhCacheBasedUserCacheは、プロジェクトに追加するとすべてにブレーキがかかる春2以外に、それらをどこで入手できるかわかりません。

この件に関して何か助けていただければ幸いです。他の解決策がある場合は、いくつかの提案をしてください。ありがとう!

4

1 に答える 1

2

Spring 3.0.xorg.springframework.cache.ehcache.EhCacheFactoryBeanは、spring-context-support-3.0.x.RELEASE.jarにあります。

クラスはありませんが、spring-security-core-3.0.x.RELEASE.jarorg.springframework.security.providers.dao.cache.EhCacheBasedUserCacheにクラスがあります。org.springframework.security.core.userdetails.cache.EhCacheBasedUserCache

于 2012-07-04T09:10:25.787 に答える