權限控制的一些思考,RBAC

【權限控制的一些思考,RBAC】
如何在Java項目中做RBAC權限控制?

權限控制的一些思考,RBAC


謝邀!RBAC,即基于角色的權限訪問控制(Role-Based Access Control) 。簡單地說,一個用戶擁有若干角色,每一個角色擁有若干權限 。這樣,就構造成“用戶-角色-權限”的授權模型 。在這種模型中,用戶與角色之間,角色與權限之間,一般者是多對多的關系 。在Java web的項目中,一把都會涉及到權限管理的,那么,我們應該如何去設計和實現權限管理呢?首先,就是數據庫的設計,最少需要4張表,也可以是5張表,加一張表單獨定義權限:用戶表(user)角色表(role)角色-權限表(role_auth)用戶-角色表(user_role)我在這里,使用四張表,大概結構如下:上圖已經可以很清晰的看出各表之間的關系用戶表:用于保存記錄系統用戶信息角色表:定義系統所需要的角色,例如:超級管理員、人事、財務等等用戶角色表:關聯用戶表和角色表用戶權限表:定義某個用戶,擁有什么樣的權限(這里的權限表可以單獨定義) 。

    推薦閱讀