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


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

Spring Security(4):权限缓存

CachingUserDetailsService

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


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


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



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

转载于:https://blog.51cto.com/1754966750/1980111

相关文章:

  • 2021-12-19
  • 2021-09-29
  • 2021-11-18
  • 2021-10-12
  • 2021-12-29
  • 2022-03-01
  • 2022-12-23
  • 2021-12-17
猜你喜欢
  • 2021-07-30
  • 2022-12-23
  • 2022-12-23
  • 2021-11-19
  • 2022-12-23
  • 2021-11-18
相关资源
相似解决方案