PHP用户管理后台权限数据表怎么设计合理

作者:admin 发布时间:2020-02-27 19:25:02 浏览:984次
关于权限管理数据库需要用到多少张表这个问题,网上有的说是建立六张表,有的说建立五张表,其实大同小异,根据你自己设计的表字段。不过建立五张表:用户表,角色表,权限表(即后来的菜单表),用户角色表,权限角色表。是最容易让新人理解的。 PHP用户管理后台权限数据表怎么设计合理 我是建立了四张表。

用户表

(我把后面的用户角色表整合到一个用户表上了,所以少建一张表) db_adminuser | CREATE TABLE `db_adminuser` (   `a_id` tinyint(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',   `a_gid` tinyint(4) NOT NULL COMMENT '所属群组(关联群组表-db_admingroup)',   `a_account` varchar(30) NOT NULL COMMENT '管理员账号',   `a_password` varchar(32) NOT NULL COMMENT '登陆密码',   `a_department` varchar(30) DEFAULT NULL COMMENT '部门',   `a_username` varchar(20) NOT NULL COMMENT '管理员姓名',   `a_number` varchar(30) DEFAULT NULL COMMENT '工号',   `a_tel` varchar(20) DEFAULT NULL COMMENT '联系电话',   `a_logtime` int(11) NOT NULL COMMENT '最后登录时间',   `a_logip` varchar(25) NOT NULL COMMENT '最后登录IP',   `a_ispermit` enum('0','1') NOT NULL DEFAULT '0' COMMENT '是否禁止 0:未,1:禁止登陆',   `a_regtime` int(11) NOT NULL COMMENT '注册时间',   `shopid` int(11) DEFAULT '0' COMMENT '店铺ID',   `a_recly` enum('0','1') NOT NULL DEFAULT '0' COMMENT '是否回收 0代表没有回收 1代表回收',   PRIMARY KEY (`a_id`),   UNIQUE KEY `a_account` (`a_account`) ) ENGINE=MyISAM AUTO_INCREMENT=154 DEFAULT CHARSET=utf8 COMMENT='用户员表';

角色表:

db_admingroup | CREATE TABLE `db_admingroup` (   `g_id` tinyint(4) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',   `g_name` varchar(30) NOT NULL COMMENT '角色名称',   `g_description` varchar(50) NOT NULL COMMENT '角色描述',   `status` enum('1','0') NOT NULL DEFAULT '0' COMMENT '是否禁止 0:未,1:禁止登陆',   PRIMARY KEY (`g_id`) ) ENGINE=MyISAM AUTO_INCREMENT=34 DEFAULT CHARSET=utf8 COMMENT='角色表' ;

权限表

db_menu | CREATE TABLE `db_menu` (   `m_id` smallint(5) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',   `m_pid` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '父ID,为0为顶级分类',   `m_name` varchar(30) NOT NULL COMMENT '权限英文名字',   `m_url` varchar(100) NOT NULL COMMENT '权限URL',   `m_level` tinyint(3) NOT NULL DEFAULT '1' COMMENT '层次',   `status` enum('0','1') NOT NULL DEFAULT '1' COMMENT '是否显示(0:不显示,1:显示)',   `m_remark` varchar(32) DEFAULT NULL COMMENT '样式备注',   `m_title` varchar(32) DEFAULT NULL COMMENT '权限中文名字',   `m_sort` tinyint(2) DEFAULT NULL COMMENT '排序',   PRIMARY KEY (`m_id`) ) ENGINE=MyISAM AUTO_INCREMENT=494 DEFAULT CHARSET=utf8 COMMENT='权限表' ;

角色权限表

db_access | CREATE TABLE `db_access` (   `a_gid` int(10) NOT NULL DEFAULT '0' COMMENT '角色id',   `a_mid` int(10) NOT NULL DEFAULT '0' COMMENT '权限id',   `level` tinyint(2) DEFAULT NULL COMMENT '层次',   `module` varchar(32) DEFAULT NULL COMMENT '模块' ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT '角色权限表'; 以上是我用到的表。

大体设计思路是。

1 创建角色,例如:管理员 2 创建用户  隶属于哪个组 3 添加权限 4 给角色分配权限 5 然后关联表 得到某个用户所具有的权限 注意:以上基本上部分先后顺序。

如需转载请保留本文出处: https://www.zhe94.com/613.html

上一篇:快速建站之前言:如何建立一个自己的网站
下一篇:MySQL单表达到千万数据时怎么进行分区操作
[uni-app]微信小程序隐私保护指引用户同意窗口代码

[uni-app]微信小程序隐私保护指引用户同意窗口代码

为规范开发者的用户个人信息处理行为,保障用户合法权益,微信要求开发者主动同步微信当前用户已阅读并同意小程序的隐私政策等收集使用规则,方可调用微信提供的隐私接口。
vscode右键运行插件—code runner

vscode右键运行插件—code runner

在VS Code里,能有一种快捷的方式来运行各类的代码,甚至是代码片段。就好了,Code Runner插件支持了 Node.js, Python, C++, Java, PHP, Perl, Ruby, Go等超过40种的语言。下面,我们就来看看如何来玩转Code Runner,提高你的效率。
php中的两个冒号是什么意思?例如Request::header('token')

php中的两个冒号是什么意思?例如Request::header('token')

在PHP中,双冒号(::)被称为范围解析操作符(Scope Resolution Operator),也有时被称为静态调用运算符。它用于引用类中的静态属性、静态方法或常量。
php __construct是什么意思

php __construct是什么意思

在PHP中,__construct是一个魔术方法(Magic Method),用于类的构造函数。当使用new关键字实例化一个对象时,会自动调用该方法。
thinkphp6.*版本的无缝升级到thinkphp8.0版本实操方法

thinkphp6.*版本的无缝升级到thinkphp8.0版本实操方法

ThinkPHP是一个免费开源的,快速、简单的面向对象的轻量级PHP开发框架,是为了敏捷WEB应用开发和简化企业应用开发而诞生的。ThinkPHP诞生十七年来一直秉承简洁实用的设计原则,在保持出色的性能和至简代码的同时,更注重易用性。