mysql权限分立_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权限分立_MySQL设置3权分立的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: promise的状态值_什么是Promi
- 下一篇: db服务器作用,数据库服务器