网站后台中权限模块非常普遍,所以掌握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权限分立_MySQL设置3权分立相关推荐

  1. mysql权限配置文件_MySQL权限管理、配置文件(三)

    一.MySQL权限管理 GRANT 权限 ON 授权范围 TO '用户名'@'允许的ip(所有%)' IDENTIFIED BY '用户密码'; 权限:参加下表,一般常用的是CREATE.DELETE ...

  2. mysql权限问题_Mysql 数据库的权限问题

    之前一直对Mysql数据库的权限没太理解 root用户具有最高的权限,也就是超级用户,root用户可以看到数据库中的所有的内容,而其它用户只能对经过root用户授权过的数据库进行操作,如果想在其它用户 ...

  3. mysql权限认证_MySQL 8.0权限认证(下)

    MySQL 8.0权限认证(下) 一.设置MySQL用户资源限制 通过设置全局变量max_user_connections可以限制所有用户在同一时间连接MySQL实例的数量,但此参数无法对每个用户区别 ...

  4. mysql权限清理_mysql清理用户权限

    1.mysql数据库地址文件格式 db:test  10.10.10.10  10.10.10.11 db:profile  10.10.10.12:3306   10.10.10.13:3307 2 ...

  5. mysql权限表_MySQL 数据库赋予用户权限操作表

    MySQL清空数据库的操作:truncate table tablename; MySQL 赋予用户权限命令的简单格式可概括为:grant 权限 on 数据库对象 to 用户 一.grant 普通数据 ...

  6. 关闭mysql权限管理_MySQL系列:用户及权限管理

    一.权限介绍 1.权限类别:对象界别划分 库级别.表级别.字段级别.管理类权限.程序类权限 (1)库和表级别的权限:对于具体的库或者表进行授权操作 ALTER.CREATE.CREATE VIEW.D ...

  7. mysql配置修改记录_mysql设置修改时间,更新记录当前时间

    1.场景:用户对绑定自己的车牌到手机号,一个手机号只能绑定一个车牌.用户可以有多个车牌,但只能有一个车牌绑定.由于用户随时可以操作车牌绑定,解除绑定操作.所以测试人员只能看到结果,但是无法确认操作时间 ...

  8. 配置mysql开启定时任务_mysql设置定时任务

    今天遇到了个需要每天定时执行的任务,在mysql数据库里面提供了这样的功能,正好整理下分享出来. 1.首先检查是否开启了定时任务 2.创建一个存储过程 3.设置定时任务调用这个存储过程(从2015.8 ...

  9. mysql权限日志_mysql权限管理、日志管理及常用工具

    mysqlbinlog用法如下: mysqbinlog mysql.err   查询错误日志 当然可以通过添加参数来查看指定内容,如: mysqlbinlog mysql-bin.000001  -d ...

最新文章

  1. 【转】Maven Jetty 插件的问题(css/js等目录死锁)的解决
  2. 有上下界网络流 ---- P4843 清理雪道(DAG图上最小路径重复边覆盖)【模板】有源汇上下界最小流
  3. 电脑文档提示无法连接服务器,提示无法将数据库连接到SQL服务器-工业支持中心-西门子中国...
  4. 一元三次方程求解matlab_初中数学最全函数/方程【实际应用题】分类详解提升必学必练!...
  5. 可靠数据传输原理1(构造可靠数据传输协议)
  6. c++学习笔记之输入/输出流
  7. CGRectInset CGRectoffset UIEdgeInsetsInsetRect 这三个函数的使用情况
  8. 向数组添加元素 java_java如何向数组里添加元素
  9. 使用TensorFlow.js进行AI在网络摄像头中翻译手势和手语
  10. 【翻译】五步快速使用LINQPad尝鲜StreamInsight
  11. 谈谈MySQL的WriteSet并行复制
  12. Tech.Ed 2011微软技术大会(二)之专题讲座
  13. 使用jquery做一个动态简历
  14. javaweb解决get请求中文乱码问题
  15. opboot怎么刷入固件_OPPO手机怎么进行系统(固件)升级?(附四种方法)
  16. php测试页面打开速度,测试网站访问速度的五个方法
  17. php revel,Revel框架安装
  18. 技术牛人---章文嵩博士---阿里副总裁章文嵩:淘宝基础设施构建实践
  19. Java编程:Java里的协程
  20. 查看mysql数据库最大连接数和已经连接的数量

热门文章

  1. Android官方开发文档Training系列课程中文版:数据存储之文件存储
  2. 工程实践:基于规则句法的事件关系与主谓宾三元组抽取项目实现
  3. 基于裁判文书与犯罪案例文本挖掘项目
  4. 为Openstack制作CentOS7镜像
  5. 《人月神话》阅读笔记(三)
  6. js处理日期的一些整理(js获取给定日期前一天的日期)
  7. Silverlight 入门
  8. php后台如何避免用户直接进入方法
  9. Sql2005 PIVOT运算符的操作
  10. oracle 11g 下载地址