我是Spring的新手,所以如果我的问题很愚蠢,请原谅我......
我正在尝试按照一些示例在 Spring Web 应用程序上配置安全性。我已将其配置为使用 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" />
这种配置的问题是我无法获取 jars,因为它们基于 spring 2 的旧版本。我使用的缓存管理器
<bean id="cacheManager"
class="net.sf.ehcache.CacheManager" />
但是我不知道从春天 2 到哪里可以得到它们,如果我添加到我的项目中,它会阻止一切org.springframework.cache.ehcache.EhCacheFactoryBean
。org.springframework.security.providers.dao.cache.EhCacheBasedUserCache
我将不胜感激在这件事上的任何帮助。如果您有其他解决方案,请提出一些建议。谢谢!