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