Spring Security 實現角色繼承

2021-09-22 21:12:44 字數 1934 閱讀 3850

本文描述如何基於spring security 實現角色繼承。

很多應用基於spring security 實現認證過程,通常需要定義一些角色,這些角色可能會有優先順序或層次關係。假設我們有三個角色:

admin, moderator ,user.

下面**進行許可權宣告:

@secured(['moderator'])

def dashboard()

我們看到通過註解限制角色訪問。如果你想admin使用者也要訪問,我們需要增加角色宣告:

@secured(['admin','moderator'])
這樣能夠實現需求,但在我們系統中有很多這樣場景,因此採用這種方式顯得很囉嗦。

為了實現角色繼承,需要下面兩步:

定義bean rolehierarchy

定義 expressionhandler 讀角色繼承關係

示例配置**:

}上面示例,角色繼承關係如下:

admin 能訪問 moderator 和 user 角色許可權.

moderator 能訪問 user 角色許可權.

user 及不能訪問 moderator 角色,也不能訪問 admin 角色許可權.

通過角色繼承使得配置和管理角色和角色許可權更簡單。

初步理解Spring Security並實踐

spring security如何使用,先在你的專案pom.xml檔案中宣告依賴。org.springframework.bootgroupid spring boot starter securityartifactid dependency 然後建立乙個類並繼承websecurityconfig...

初步理解Spring Security並實踐

spring security如何使用,先在你的專案pom.xml檔案中宣告依賴。org.springframework.boot spring boot starter security 然後建立乙個類並繼承websecurityconfigureradapter這個方法,並在之類中重寫confi...

初步理解Spring Security並實踐

spring security如何使用,先在你的專案pom.xml檔案中宣告依賴。org.springframework.boot spring boot starter security 然後建立乙個類並繼承websecurityconfigureradapter這個方法,並在之類中重寫confi...