码迷,mamicode.com
首页 > 数据库 > 详细

MySQL设置3权分立

时间:2016-11-05 14:32:50      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:管理员   images   alt   用户表   多对多   efault   pass   文章   des   

网站后台中权限模块非常普遍,所以掌握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权分立

标签:管理员   images   alt   用户表   多对多   efault   pass   文章   des   

原文地址:http://www.cnblogs.com/zzg521/p/6032680.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!