首页 > 代码库 > MySQL设置3权分立
MySQL设置3权分立
网站后台中权限模块非常普遍,所以掌握3权分立十分必要
3权分立表有 用户表,角色表,权限表,对应关系如下
用户有着“读者”,“作者”和“管理员”角色,角色有不同权限,如发布文章,审核文章,查看文章等
我们这里设定用户和角色是一对一关系,即一个用户只有一个角色;角色和用户的关系是一对多关系,一个角色对应着多个用户
角色和权限的关系是多对多关系。即一个角色有着多种权限,同样,一个权限可以分给不同角色。
对应数据库建表语句如下:
用户表:
Create Table CREATE TABLE `orm_user` ( `i_id` int(11) NOT NULL AUTO_INCREMENT, `user_name` varchar(60) NOT NULL, `user_pass` varchar(60) NOT NULL, PRIMARY KEY (`i_id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
角色表
Create Table CREATE TABLE `orm_role` ( `i_id` int(11) NOT NULL AUTO_INCREMENT COMMENT ‘权限表‘, `s_name` varchar(20) NOT NULL, `s_description` varchar(60) DEFAULT NULL, PRIMARY KEY (`i_id`) ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8
权限表
Create Table CREATE TABLE `orm_permission` ( `i_id` int(11) NOT NULL AUTO_INCREMENT, `s_name` varchar(20) NOT NULL, `s_description` varchar(60) DEFAULT NULL, PRIMARY KEY (`i_id`) ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8
用户角色表
Create Table CREATE TABLE `orm_user_role` ( `i_id` int(11) NOT NULL AUTO_INCREMENT, `i_user_id` int(11) NOT NULL, `i_role_id` int(11) NOT NULL, PRIMARY KEY (`i_id`) ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8
角色权限表
Create Table CREATE TABLE `orm_role_permission` ( `i_id` int(11) NOT NULL AUTO_INCREMENT, `i_role_id` int(11) NOT NULL, `i_permission_id` int(11) NOT NULL, PRIMARY KEY (`i_id`) ) ENGINE=InnoDB AUTO_INCREMENT=26 DEFAULT CHARSET=utf8
插入相关数据
然后使用php操作数据库连表查询即可查询到相关数据
MySQL设置3权分立
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。