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等。

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