diff --git a/项目开发.md b/项目开发.md index 6cb2f69..371bcee 100644 --- a/项目开发.md +++ b/项目开发.md @@ -88,4 +88,135 @@ permission 对应 权限 --- - +```mysql +create database test; +use test; +# 用户 +create table users( + id int primary key auto_increment, # 自动递增主键 + name varchar(244), + password varchar(244), + rolesid int, # 外键 关联角色的ID + createdate timestamp, + updatedate timestamp +) character set = UTF8MB4; +# 角色 +create table roles( + id int not null default 0 , # 主键 默认0 + name varchar(30), + permissionid int not null auto_increment, # 非主键 约束唯一索引 自动递增 并 外键 关联 permission 的ID + createdate timestamp, + updatedate timestamp, + primary key (`id`), + unique key (`permissionid`) +)character set = UTF8MB4; +# 权限表 +create table permission( + id int primary key auto_increment, # 自动递增主键 + rolesid int, + name varchar(20), + operationid int, # 外键 关联operation的ID + createdate timestamp, + updatedate timestamp +)character set = UTF8MB4; +# menu操作权限访问模块表 +create table operation( + id int primary key , # 主键 非自动递增 + name varchar(20), + url varchar(20), + createdate timestamp, + updatedate timestamp +)character set = UTF8MB4; + +# 用户---角色的外键 +alter table users add constraint ur foreign key (rolesid) references roles(id); +# 角色---权限 & 权限---menu访问模块 的外键。 +alter table permission add constraint pr foreign key (rolesid) references roles(id); +alter table permission add constraint op foreign key (operationid) references operation(id); + +alter table permission drop foreign key op; +alter table users drop foreign key ur; + +drop table users; +drop table roles; +drop table permission; + +# 用户 +insert into users (name,password,rolesid,createdate,updatedate) VALUES ('123333','vip2333','1',now(),now()); +insert into users (name,password,rolesid,createdate,updatedate) VALUES ('123343','vip2343','2',now(),now()); +insert into users (name,password,rolesid,createdate,updatedate) VALUES ('123353','vip2353','3',now(),now()); +# 角色 +insert into roles (id, name, createdate, updatedate) VALUES ('1','admin1',now(),now()); +insert into roles (id, name, createdate, updatedate) VALUES ('2','admin2',now(),now()); +insert into roles (id, name, createdate, updatedate) VALUES ('3','admin3',now(),now()); +insert into roles (id, name, createdate, updatedate) VALUES ('4','admin4',now(),now()); +# 权限 +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','1',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','1',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','1',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','1',now(),now()); + +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','191',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','191',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','191',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','191',now(),now()); + +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','1101',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','1101',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','1101',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','1101',now(),now()); + +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','add','1111',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','delete','1111',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','select','1111',now(),now()); +insert into permission (rolesid, name,operationid, createdate, updatedate) VALUES ('3','updata','1111',now(),now()); + + + +# 菜单功能访问模块 +# 设置menu 1 【】 +insert into operation (id, name, url, createdate, updatedate) VALUES ('1','个人信息','/me',now(),now()); + +# insert into operation (id, name, url, createdate, updatedate) VALUES ('21','部门管理','/index/work',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('31','人员管理','/index/people',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('41','资产类别','/index/assettype',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('51','品牌','/index/brand',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('61','取得方式','/index/method',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('71','供应商','/index/vendor',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('81','存放地点','/index/address',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('91','设备用途','/index/driver',now(),now()); +# insert into operation (id, name, url, createdate, updatedate) VALUES ('11','报废方式','/index/repair',now(),now()); + +insert into operation (id, name, url, createdate, updatedate) VALUES ('111','资产申购','/:user/by',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('121','资产入库','/:user/input',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('131','资产信息维护','/:user/edit',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('141','资产借还','/:user/debit',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('151','资产转移','/:user/Transfer',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('161','资产维修','/:user/fix',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('171','资产报废','/:user/repair',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('181','资产盘点','/:user/Inventory',now(),now()); + +insert into operation (id, name, url, createdate, updatedate) VALUES ('191','资产查询统计','/:user/Query',now(),now()); + +insert into operation (id, name, url, createdate, updatedate) VALUES ('1101','资产申购审批','/:user/Approval/by',now(),now()); +insert into operation (id, name, url, createdate, updatedate) VALUES ('1111','资产报废审批','/:user/Approval/repair',now(),now()); + + +select * from users; +select * from roles; +select * from operation; +select * from permission; + +# 通过角色去查询权限。 +select distinct u.name,o.id,o.url from users as u + left join roles as r on u.rolesid = r.id + left join permission p on u.rolesid = p.rolesid + right join operation o on p.operationid = o.id +where u.name = 123353; +# 结果:1 = 40 = admin1 ;2 = 80 = admin2 ;3 = 32 = admin3; +# 过滤用户名,权限:四种权限的operation + +# 角色添加? +# 用户授权? +# 超级用户:拥有对整个系统的权限角色分配,功能分配有着绝对的操作。并且可对所存在的公司员工进行查询。 +```