1. 程式人生 > >RBAC 許可權管理----之建表

RBAC 許可權管理----之建表

建表:管理員表,許可權表,角色表, 並模擬資料

-- 管理員 3-1
CREATE TABLE admin_manager (
    manager_id smallint unsigned NOT NULL AUTO_INCREMENT COMMENT '管理員id',
    manager_name varchar(32) NOT NULL DEFAULT '' COMMENT '管理員姓名',
    manager_pwd varchar(32) NOT NULL DEFAULT '' COMMENT '管理員密碼',
    manager_salt char(32) NOT NULL
DEFAULT '' COMMENT '加鹽', manager_role_id tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '角色id', PRIMARY KEY(manager_id), UNIQUE KEY(manager_name) ) ENGINE=innoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 COMMENT '後臺-管理員';
-- 模擬插入資料 insert into admin_manager(manager_name,manager_pwd,manager_salt,manager_role_id) values
('admin', '123456','123456',1), ('tom', '123456','123456',2), ('jack', '123456','123456',3);
-- 許可權表 3-2
CREATE TABLE admin_auth (
    auth_id smallint unsigned NOT NULL AUTO_INCREMENT COMMENT '許可權id',
    auth_name varchar(12) NOT NULL DEFAULT '' COMMENT '許可權名稱',
    auth_pid smallint unsigned NOT
NULL DEFAULT '0' COMMENT '父id', auth_c varchar(24) NOT NULL DEFAULT '' COMMENT '控制器', auth_a varchar(24) NOT NULL DEFAULT '' COMMENT '操作方法', auth_path varchar(12) NOT NULL DEFAULT '' COMMENT '全路徑:c-a', auth_level intyint unsigned NOT NULL DEFAULT 0 COMMENT '級別,基本:0, 頂級:1, 次頂級:2, 次次頂級:3', PRIMARY KEY(auth_id) ) ENGINE=innoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 COMMENT '後臺-許可權表';
-- 模擬插入資料 insert into admin_auth(auth_id,auth_name,auth_pid,auth_c,auth_a,auth_path,auth_level) values (1,'資訊管理','0','','','1','0'), (2,'資訊列表','1','article','list','1-2','1'), (3,'資訊新增','1','article','add','1-3','1'), (10,'商品管理','0','','','10','0'), (11,'商品列表','10','goods','list','10-11','1'), (12,'商品新增','10','goods','add','10-12','1'), (13,'商品分類','10','goods','category','10-13','1'), (20,'會員管理','0','','','20','0'), (21,'會員列表','20','user','list','20-21','1'), (22,'會員新增','20','user','add','20-22','1'), (30,'管理員管理','0','','','30','0'), (31,'管理員列表','30','manager','list','30-31','1'), (32,'許可權列表','30','auth','list','30-32','1'), (33,'角色列表','30','role','list','30-33','1'), (40,'評論管理','0','','','40','0'), (41,'意見反饋','40','comment','feedback','40-41','1'), (50,'系統管理','0','','','50','0'), (51,'遮蔽詞','50','system','shielding','50-51','1'), (52,'系統日誌','50','system','log','50-52','1');
-- 角色表 3-3
CREATE TABLE admin_role (
    role_id smallint unsigned NOT NULL AUTO_INCREMENT COMMENT '角色id',
    role_name varchar(24) NOT NULL DEFAULT '' COMMENT '角色名稱',
    role_desc varchar(32) NOT NULL DEFAULT '' COMMENT '角色描述',
    role_auth_ids varchar(128) NOT NULL DEFAULT '' COMMENT '許可權ids',
    role_auth_ac text COMMENT '控制器-方法',
    PRIMARY KEY(role_id),
    UNIQUE KEY(role_name)
) ENGINE=innoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 COMMENT '後臺-角色表';

-- 模擬插入資料   
insert into admin_role values
(1,'超級管理員','超級管理員','0',''),                            -- 設定0,為方便以後操作
(2,'專案經理','專案經理','1,2,3,20,21,22','article-list,article-add,user-list,user-add'),
(3,'前端工程師','前端工程師','',''),
(4,'編輯','編輯','1,2,3','article-list,article-add'),
(5,'美工','美工','',''),
(6,'客服','客服','','');