許可權控制相關資料表分析和建立

2021-08-14 09:39:06 字數 1386 閱讀 6643

實體類分析:包含使用者、角色、許可權三大塊

使用者user,角色role,許可權permission

為了方便進行動態的選單管理,也就是不同許可權使用者進入到後台系統所看到的選單是不同的。所以再新增乙個選單menu實體。不同使用者的系統選單,可以根據使用者角色進行管理,因而角色跟選單形成了多對多的對映關係。

使用者:就是系統的登入使用者

角色:就是為了方便對使用者進行授權,可以理解為角色就是許可權的集合。

使用者–角色:多對多的關係。乙個使用者可以擁有多個角色,乙個角色也可以同時被多個使用者擁有。

角色–許可權:也是多對多的關係。角色就是許可權的集合嘛,不同角色也可以擁有相同的許可權。

三個實體多對多的表關聯,需要兩張中間表,因此一共需要建立五張資料表。

再加上選單的引入,一共需要建立七張表。

這四個實體類的**如下:

user

/**

* @description:後台使用者

*/ @entity

@table(name = 「t_user」)

public class user , inversejoincolumns = )

private set roles = new hashset(0);

}

role

/**

* @description:角色

*/@entity

@table(name = "t_role")

public class role , inversejoincolumns = )

private setpermissions = new hashset(0);

@manytomany

@jointable(name = "t_role_menu", joincolumns = , inversejoincolumns = )

private setmenus = new hashset(0);

}

permission

/**

* @description:許可權名稱

*/@entity

@table(name = "t_permission")

public class permission

menu

/**

* @description:選單

*/@entity

@table(name = "t_menu")

public class menu

建立資料表和修改資料表

建立表 sql中建立和刪除資料庫物件的語句被稱為資料定義語言 data definition language,ddl 操作這些物件中資料的語句被稱為資料操作語言 data manipulation language,dml 建立語句屬於ddl,用create table命令 create temp...

建立資料表

語法 create table 表名 欄位名稱 字段型別 字段特徵 是否為null,預設值 標識列 主鍵 唯一鍵 外來鍵 check約束 欄位名稱 字段型別 字段特徵 是否為null,預設值 標識列 主鍵 唯一鍵 外來鍵 check約束 建立老師表teacher id name gender age...

建立資料表

class users models.model uphone models.charfield max length 20,verbose name 號碼 upwd models.charfield max length 20,verbose name 密碼 uemail models.email...