上篇《話說Spring Security權(quán)限管理(源碼)》介紹了Spring Security權(quán)限控制管理的源碼及實現(xiàn),然而某些情況下,它默認的實現(xiàn)并不能滿足我們項目的實際需求,有時候需要做一些自己的實現(xiàn),本次將圍繞上次的內(nèi)容進行一次項目實戰(zhàn)。
實戰(zhàn)背景
背景描述
項目中需要做細粒的權(quán)限控制,細微至url + httpmethod (滿足restful,例如: https://.../xxx/users/1, 某些角色只能查看(HTTP GET), 而無權(quán)進行增改刪(POST, PUT, DELETE))。
表設計
為避嫌,只列出要用到的關(guān)鍵字段,其余敬請自行腦補。
admin_user 管理員用戶表, 關(guān)鍵字段( id, role_id )。
t_role 角色表, 關(guān)鍵字段( id, privilege_id )。
t_privilege 權(quán)限表, 關(guān)鍵字段( id, url, method )
三個表的關(guān)聯(lián)關(guān)系就不用多說了吧,看字段一眼就能看出。