Java許可權驗證
阿新 • • 發佈:2018-12-01
Java許可權驗證
這裡面我們進行一些簡單的許可權驗證,先從資料庫建立關係來說起
建立資料庫表
- 1.User表(使用者)
CREATE TABLE USER(
id INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT '使用者id',
userName VARCHAR(30) NOT NULL COMMENT '使用者姓名',
address VARCHAR(50) COMMENT '居住地址',
createTime DATETIME COMMENT '使用者建立時間',
modifyTime DATETIME COMMENT '使用者修改世家'
)
-- 給表名加上註釋
ALTER TABLE USER COMMENT ='使用者表'
- 2.Role表(角色)
CREATE TABLE ROLE(
id INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT '角色id',
roleName VARCHAR(30) NOT NULL COMMENT '角色名稱',
createTime DATETIME COMMENT '角色建立時間'
)
-- 給表名加上註釋
ALTER TABLE role COMMENT = '角色表'
-- 設定mysql主鍵從自定義主鍵開始自增
ALTER TABLE role AUTO_INCREMENT = 1001;
- 3.User_Role_Associate表(使用者角色關聯表)
CREATE TABLE user_role_associate(
id INT(11) PRIMARY KEY AUTO_INCREMENT COMMENT '使用者角色關聯表id',
userid INT COMMENT '使用者id',
roleid INT COMMENT '角色id',
createtime DATETIME COMMENT '角色關聯建立時間',
modifytime DATETIME COMMENT '角色關聯修改時間'
)
ALTER TABLE user_role_associate COMMENT = '角色許可權關聯表';
ALTER TABLE user_role_associate AUTO_INCREMENT = 2001;
下面,我們來進行資料庫方面的許可權設定
-- 下面開始驗證我們的資料,從以下兩個維度:
-- 1.資料庫層次進行驗證
-- 2.從Java層次進行驗證
-- 1.從資料庫角度進行驗證,從以下角度進行驗證
-- a.新增使用者資訊
-- b.新增角色資訊
-- c.關聯使用者角色資訊
-- d.拓展如何將許可權分層管理? 仔細思考,內心深處有那麼一個答案
-- 使用者資訊新增 --
INSERT INTO USER(userName,address,createTime,modifyTime) VALUES('張三','黑龍江哈爾濱',NOW() ,NOW());
INSERT INTO USER(userName,address,createTime,modifyTime) VALUES('李四','蒙古呼蘭浩特',NOW(), NOW());
INSERT INTO USER(userName,address,createTime,modifyTime) VALUES('王五','黑龍江創業',NOW(),NOW());
ALTER TABLE USER AUTO_INCREMENT = 1
-- DELETE FROM USER WHERE id = 1
SELECT * FROM USER
-- 角色資訊新增 --
INSERT INTO role(roleName,createTime) VALUE('超級管理員',NOW());
INSERT INTO role(roleName,createTime) VALUE('普通管理員',NOW());
INSERT INTO role(roleName,createTime) VALUE('高階經理',NOW());
INSERT INTO role(roleName,createTime) VALUE('店長',NOW());
INSERT INTO role(roleName,createTime) VALUE('店員',NOW());
SELECT * FROM role
-- DROP TABLE role
-- 使用者角色關聯資訊新增 --
INSERT INTO user_role_associate(userid,roleid) VALUES(1,1001);
INSERT INTO user_role_associate(userid,roleid) VALUES(1,1002);
INSERT INTO user_role_associate(userid,roleid) VALUES(2,1003);
INSERT INTO user_role_associate(userid,roleid) VALUES(3,1004);
INSERT INTO user_role_associate(userid,roleid) VALUES(3,1005);
UPDATE user_role_associate SET createtime = NOW(),modifytime = NOW() WHERE id = 2001;
UPDATE user_role_associate SET createtime = NOW(),modifytime = NOW() WHERE id = 2002;
UPDATE user_role_associate SET createtime = NOW(),modifytime = NOW() WHERE id = 2003;
UPDATE user_role_associate SET createtime = NOW(),modifytime = NOW() WHERE id = 2004;
UPDATE user_role_associate SET createtime = NOW(),modifytime = NOW() WHERE id = 2005;
SELECT * FROM user_role_associate