Spring Security(4):权限缓存

Spring Security的权限缓存与数据库管理有关,都是在用户认证上作文章,所以都与UsrtDetailsService有关。redis


与数据库管理不一样的是,Spring Security提供了一个实现了UsrtDetailsService的缓存类CachingUserDetailsService。数据库

09b358127d107c0aa39e4f579bcac207.jpg

CachingUserDetailsService缓存

1:构造函数接受了一个真正用于加载UsrtDetails的实现类UsrtDetailsService。ide


当须要真正加载UsrtDetails时,会首先从换成中获取,若是缓存中没有对应的UsrtDetails存在,则使用持有的UsrtDetailsService实现类进行加载,而后将加载后的结果存放在缓存中,UsrtDetails与缓存的交互式经过UserCache接口来实现的,CachingUserDetailsService默认拥有一个UserCache的空引用实现NullUserCache。当缓存中不存在对应的UsrtDetails时,将使用引用的UsrtDetailsService类型的delgate来加载,加载后存放在缓存中,并返回。函数


除了NullUserCache,Spring Security还为咱们提供了EhCacheBasedUserCachespa



以上这两种cache是Spring Security提供了,咱们为了更好的实现缓存,可能会使用redis等。3d

相关文章
相关标签/搜索