統計專案許可權的設計結構

2021-07-12 01:41:19 字數 2948 閱讀 2969

一、許可權控制預計分為:

1、資源:使用者訪問的選單、操作的按鈕、鏈結的url都對應一條資源資料

2、角色:角色包含一組資源,表明擁有該角色的賬號允許訪問這組資源對應的頁面或操作

3、角色組:角色組中包含一組角色,用於自由靈活地生成各種控制策略

4、賬號:匹配乙個角色組,擁有角色組中資源的訪問許可權

(以上可以用shiro配置,達到不同許可權的使用者擁有各自的檢視介面)

5、 具體到每個賬戶對應不同省、市、區等,需要賬號設定所屬地區、學校,查詢時就完成許可權劃分。

二、資源(resources)的資料結構

/** 用於左側選單的許可權控制 **/

public static final string menu = "menu";

/** 用於跳轉頁面鏈結時的許可權控制 **/

public static final string button = "button";

@idprivate string id;

private string name;

// 資源名稱

private string desc;

//資源描述

private string type;

//資源型別:meun、button

private string value;

//資源值:meun(/manage/account/list)、button(account:*)

private boolean enabled = true;

三、角色(role)的資料結構

@id

private string id;

private string rolename;

// 角色名稱

private string roledesc;

// 角色描述

private setresourceids;

// 角色對應的資源集合

private boolean enabled = true;

四、角色組(rolegroup)的資料結構

@id

private string id;

private string rolegroupname;

// 角色組名稱

private string rolegroupdesc;

// 角色組描述

private setroleids;

// 角色組對應的角色集合

private boolean enabled = true;

private string createtime;

private string modifytime;

五、賬號(account)的資料結構

/** 超級管理員 **/

public static final string account_type_superadmin = "super_admin";

/** 教育局管理員 **/

public static final string account_type_eduadmin = "edu_admin";

/** 學校管理員 **/

public static final string account_type_schadmin = "sch_admin";

/** 運營管理員 **/

public static final string account_type_sopadmin = "sop_admin";

@idprivate string id;

private string username;

//登入使用者名稱

private string showname;

//顯示使用者名稱

private string password;

//密碼

private int loginnum = 0;

//登入次數

private string admintype;

//管理員型別

private boolean iswholecountry;

//是否全國

private setprovinceids;//省

private setcityids;//市

private setareaids;  //區縣

private setcenterschoolids;//中心校

private setschoolids;//學校

private string modifyuserid;//記錄最後一次修改人(邏輯刪除,修改基本資訊,作用域等有效)

private string modifyusername;//記錄最後一次修改人(邏輯刪除,修改基本資訊,作用域等有效)

private string logintime; 

//登入時間

private string createtime;

//建立時間

private string modifytime;

//記錄最後一次修改時間(邏輯刪除,修改基本資訊,作用域等有效)

private boolean enabled = true;//是否可用,邏輯刪除用

private int status = 1;

//禁用啟用狀態:0-禁用;1-啟用;

/**許可權控制**/

private setrolegroupids;

//賬號對應的角色組集合

專案 RBAC模型與許可權設計

一.rbac模型 什麼是rbac rbac 全稱 role based access control 基於角色的許可權訪問控制,作為傳統訪問控制 自主訪問,強制訪問 的有前景的代替受到廣泛的關注。在rbac中,許可權與角色相關聯,使用者通過成為適當角色的成員而得到這些角色的許可權。這就極大地簡化了許...

許可權的設計

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...

許可權的設計

rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...