我们正在使用 AclPermissionCacheOptimizer 在 spring-security-core-3.1.3 版本中缓存 sids 的授权对象。
现在,每当我们为缓存对象授予对新 sid 的访问权限时,AclPermissionCacheOptimizer 没有缓存对象的新 sid,因此具有新 sid 的用户无权查看此对象(因为在缓存中找到此对象,它不从 db 加载数据)。我在想,只要一个新的 sid 可以访问缓存的对象,spring security 就应该清除这个缓存。
这是xml文件的样子:
<bean id="permissionCacheOptimizer" class="org.springframework.security.acls.AclPermissionCacheOptimizer">
<constructor-arg ref="aclService"/>
</bean>
我有哪些选项可以解决此问题?任何想法?