許可權管理表結構設計
阿新 • • 發佈:2019-01-27
一、使用者表USER_INFO
1.1、指令碼
-- Create table create table USER_INFO ( id NUMBER(26) not null,--序列號 user_id VARCHAR2(50) not null,--登入賬號 password VARCHAR2(50) not null,--密碼 msisdn VARCHAR2(100),--行動電話 chs_name VARCHAR2(50),--姓名 email VARCHAR2(50),--電子郵箱 addr VARCHAR2(200),--地址 phone VARCHAR2(100),--聯絡電話 is_usable NUMBER(8) not null,--是否可用 1-是 0-否 memo VARCHAR2(500),--備註 version NUMBER(10),--版本號 city VARCHAR2(50),--城市 province VARCHAR2(100),--省 country VARCHAR2(100),--國家 postal_code VARCHAR2(15),--郵政編碼 password_hint VARCHAR2(100),--密碼提示 account_enabled CHAR(1),--賬號是否可用 1-是 0-否 account_expired CHAR(1),--賬號是否過期 1-是 0-否 account_locked CHAR(1),--賬號是否鎖定 1-是 0-否
credentials_expired CHAR(1),--賬號是否鎖定 1-是 0-否 create_man NUMBER(26),--建立人 site VARCHAR2(100),--所在位置 dep_id VARCHAR2(12),--所在部門編號 DEPT_INFO.CODE password_error_times VARCHAR2(2) default '0', last_login_time DATE, password_error_lock VARCHAR2(2) default '0', rtx_num VARCHAR2(50) ); -- Add comments to the columns comment on column USER_INFO.password_error_times is '記錄密碼輸錯次數'; comment on column USER_INFO.last_login_time is '記錄上一次該賬號進行登入的時間'; comment on column USER_INFO.password_error_lock is '密碼輸入錯誤鎖,0為正常,1為鎖定'; comment on column USER_INFO.rtx_num is 'RTX號碼'; -- Create/Recreate primary, unique and foreign key constraints alter table USER_INFO add constraint PK_USER_INFO primary key (ID) using index; alter table USER_INFO add constraint UQ_USER_INFO unique (USER_ID) using index;
--序列
create sequence SEQ_USER_INFO
minvalue 1
maxvalue 9999999999999999999999999999
start with 90000
increment by 1
cache 20;
二、存放對使用者的子許可權的分配USER_PERMREG
2.1、指令碼
-- Create table create table USER_PERMREG ( id NUMBER(26) not null, perm_id NUMBER(26) not null,--子許可權ID,PERM_REG.ID user_ref_id NUMBER(26) not null,--使用者ID,USER_INFO.ID perm_allow NUMBER--是否允許 ); -- Create/Recreate primary, unique and foreign key constraints alter table USER_PERMREG add constraint PK_USER_PERMREG primary key (ID) using index;
--序列
create sequence SEQ_USER_FUNC
minvalue 1
maxvalue 99999999999999999999999999
start with 1
increment by 1
cache 20;
三、存放對特定使用者所分配的許可權USER_RIGHT_LIST
3.1、指令碼
-- Create table
create table USER_RIGHT_LIST
(
id NUMBER(26) not null,
func_id NUMBER(26) not null,--功能號,FUNC_LIST.ID
user_ref_id NUMBER(26) not null,--使用者ID,USER_INFO.ID
perm_allow NUMBER
);
-- Create/Recreate primary, unique and foreign key constraints
alter table USER_RIGHT_LIST
add constraint PK_USER_RIGHT_LIST primary key (ID)
using index ;
--序列
create sequence SEQ_USER_RIGHT_LIST
minvalue 1
maxvalue 9999999999999999999999999999
start with 20000
increment by 1
cache 20;
四、存放對登入使用者賦予的角色USER_ROLE_REF
4.1、指令碼
-- Create table
create table USER_ROLE_REF
(
role_id NUMBER(26) not null,--角色ID
user_id NUMBER(26) not null--使用者ID
);
五、存放系統對使用者角色的定義USER_ROL
5.1、指令碼
-- Create table
create table USER_ROL
(
id NUMBER(26) not null,
name VARCHAR2(100) not null,--角色名稱
description VARCHAR2(50)--角色描述
);
-- Create/Recreate primary, unique and foreign key constraints
alter table USER_ROL
add constraint PK_USER_ROL primary key (ID)
using index ;
alter table USER_ROL
add constraint UQ_USER_ROL unique (NAME)
using index;
--序列
create sequence SEQ_USER_ROL
minvalue 1
maxvalue 9999999999999999999999999999
start with 20000
increment by 1
cache 20;
六、存放對角色的子許可權的分配ROLE_PERMREG
6.1、指令碼
-- Create table
create table ROLE_PERMREG
(
id NUMBER(26) not null,
use_id NUMBER(26),--角色ID,USER_ROL.ID
perm_id NUMBER(26),--子許可權ID,PERM_REG.ID
perm_allow INTEGER--是否允許
);
-- Create/Recreate primary, unique and foreign key constraints
alter table ROLE_PERMREG
add constraint PK_ROLE_PERMREG primary key (ID)
using index;
--序列
create sequence SEQ_ROLE_FUNC
minvalue 1
maxvalue 99999999999999999999999999
start with 1
increment by 1
cache 20;
七、存放對系統角色所分配的許可權ROLE_RIGHT_LIST
7.1、指令碼
-- Create table
create table ROLE_RIGHT_LIST
(
id NUMBER(26) not null,
func_id NUMBER(26) not null,--功能ID,FUNC_LIST.ID
rol_ref_id NUMBER(26) not null,--角色ID,USER_ROL.ID
perm_allow NUMBER--是否有效 1-是 0-否
);
-- Create/Recreate primary, unique and foreign key constraints
alter table ROLE_RIGHT_LIST
add constraint PK_ROLE_RIGHT_LIST primary key (ID)
using index ;
--序列
create sequence SEQ_ROLE_RIGHT_LIST
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;
八、存放選單項與子許可權的關聯,形成按功能劃分的子許可權,以便為使用者分配更細的許可權PERM_REG
8.1、指令碼
-- Create table
create table PERM_REG
(
id NUMBER(26) not null,
func_id NUMBER(26),--功能ID,FUNC_LIST.ID
def_id NUMBER(26)--子許可權ID,PERM_DEF.ID
);
-- Create/Recreate primary, unique and foreign key constraints
alter table PERM_REG
add constraint PK_PERM_REG primary key (ID)
using index;
--序列
create sequence SEQ_PERM_REG
minvalue 1
maxvalue 9999999999999999999999999999
start with 30000
increment by 1
cache 20;
九、系統選單模組定義FUNC_LIST
9.1、指令碼
-- Create table
create table FUNC_LIST
(
id NUMBER(26) not null,
level NUMBER,--級別
parent_id NUMBER(26),--上級選單ID
name VARCHAR2(50) not null,--顯示名
url VARCHAR2(100) not null,--對應頁面的地址
action VARCHAR2(30) not null,--型別platform/menu/function
is_usable NUMBER(1) not null,--是否啟用
sort_order NUMBER(3),--排序
memo VARCHAR2(500),--備註
icon VARCHAR2(128)--顯示圖片所在路徑
);
-- Create/Recreate primary, unique and foreign key constraints
alter table FUNC_LIST
add constraint PK_FUNC_LIST primary key (ID)
using index;
--序列
create sequence SEQ_FUNC_LIST
minvalue 1
maxvalue 9999999999999999999999999999
start with 1
increment by 1
cache 20;
十、部門資訊表DEPT_INFO
10.1、指令碼
-- Create table
create table DEPT_INFO
(
id NUMBER(26) not null,
name VARCHAR2(100) not null,--部門名稱
parent_id NUMBER(26) not null,--上級部門ID,DEPT_INFO.ID
manager NUMBER(26) not null,--部門經理
is_dept NUMBER(1) default 0 not null,--是否子公司 1-是 0-否
code VARCHAR2(6)--部門代號
);
-- Create/Recreate primary, unique and foreign key constraints
alter table DEPT_INFO
add constraint PK_DEPT_INFO primary key (ID)
using index;
alter table DEPT_INFO
add constraint UQ_DEPT_INFO unique (CODE)
using index;
--序列
create sequence SEQ_DEPT_INFO
minvalue 1
maxvalue 9999999999999999999999999999
start with 10000
increment by 1
cache 20;