通用权限管理系统

DROP TABLE IF EXISTS operate;
CREATE TABLE operate (
  code varchar(50) NOT NULL,
  name varchar(50) NOT NULL,
  icon varchar(50),
  fun varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS menu;
CREATE TABLE menu (
  code varchar(50) NOT NULL,
  name varchar(50) NOT NULL,
  href varchar(100),
  icon varchar(50),
  parent varchar(50) NOT NULL,
  type int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS menuop;
CREATE TABLE menuop (
  menucode varchar(50) NOT NULL,
  opcode varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS rolepower;
CREATE TABLE rolepower (
  rolecode varchar(50) NOT NULL,
  powercode varchar(1024) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS user;
CREATE TABLE user (
  code varchar(50) NOT NULL,
  name varchar(50) NOT NULL,
  pwd varchar(50) NOT NULL,
  state int(11) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS role;
CREATE TABLE role (
  code varchar(50) NOT NULL,
  name varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

DROP TABLE IF EXISTS userrole;
CREATE TABLE userrole (
  usercode varchar(50) NOT NULL,
  rolecode varchar(50) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

insert into operate values('01','新增','add','toAdd');
insert into operate values('02','修改','modify','toUpdate');
insert into operate values('03','删除','del','doDel');
insert into menu values('01','系统管理',null,'system.gif','00',1);
insert into menu values('0101','操作管理','system/operateList.html','operate.gif','01',2);
insert into menu values('0102','菜单管理','system/menuList.html','menu.gif','01',2);
insert into menu values('0103','角色管理','system/roleList.html','role.gif','01',2);
insert into menu values('0104','用户管理','system/userList.html','user.gif','01',2);
insert into menuop values('0101','01');
insert into menuop values('0101','02');
insert into menuop values('0101','03');
insert into menuop values('0102','01');
insert into menuop values('0102','02');
insert into menuop values('0102','03');
insert into menuop values('0103','01');
insert into menuop values('0103','02');
insert into menuop values('0103','03');
insert into menuop values('0104','01');
insert into menuop values('0104','02');
insert into menuop values('0104','03');
insert into user values('0001','admin','KID/yvZHk4dbIgTPwBTwgQ==',2);
insert into role values('0001','admin');
insert into userrole values('0001','0001');
insert into rolepower values('0001','01,0101,0102,0103,0104,010101,010102,010103,010104,010201,010202,010203,010204,010301,010302,010303,010304,010401,010402,010403,010404');

 

基本业务:

1.查询用户的菜单权限:查询菜单

1.menucodes = select menucode from rolepower where rolecode =  (select userrole.rolecode from user left join userrole on user.code = userrole.usercode where user.code = '0001')

2.select * from menu where code in(menucodes);

2.查询用户的某菜单的操作权限:查询按钮

1.opcodes = select opcode from rolepower where rolecode =  (select userrole.rolecode from user left join userrole on user.code = userrole.usercode where user.code = '0001') and menucode = '0101'

2.select * from operate where code in(opcodes);

3.查询用户的所有权限:查询菜单树(采用的延迟加载技术)

首先查询一级节点,parent=00

若点击一级菜单

select * from menu where parent=’节点id’

若点击二级菜单

首先查询该菜单下可以进行的操作select opcode from menuop where menucode=’节点id’

 

 

操作管理:

删除时,先判断是否被menu引用,若引用给出提示被引用不能删除

 

菜单管理:

增加二级菜单时,还要保存选择的操作到menuop表中(一个操作一条记录)

修改二级菜单时,还要先删除menuop表中相关记录,再增加 选择的操作

删除时,先判断是否被角色引用,若引用给出提示被引用不能删除

若没被引用先删除menu表中的数据和menuop表中的数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值