Spring Security(4):权限缓存

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


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

09b358127d107c0aa39e4f579bcac207.jpg

CachingUserDetailsService

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


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


除了NullUserCache,Spring Security还为我们提供了EhCacheBasedUserCache



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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章