【独家推荐】小狐狸GPT付费AI体验系统:菜单权限定制,让你轻松畅享!
这是一篇关于小狐狸GPT后台菜单权限控制的简介,介绍了如何在Web应用程序中实现该功能。文章中提供了一个基本的逻辑和代码示例,包括定义用户角色和权限等级、验证用户是否有权限访问页面以及相关的数据库设计和代码实现。如果你需要为自己的Web应用添加权限控制功能,这篇文章可以作为一个很好的参考。
由于开发未使用super平台多商户,只使用admin平台。所以需要按排不同的用户帐号登录来控制不同的菜单权限及数据列表和维护权限。

第一,数据表的创建及关系
角色:角色是指用户在系统中扮演的身份,每个角色都具有特定的权限和访问范围。如管理员、普通用户、编辑等。
角色组:角色组是将多个角色归纳为一组,方便统一管理和授权。例如,将“管理员”、“超级管理员”等角色放在同一个角色组中。
管理员:管理员是指拥有管理权限的用户,可以进行系统配置、用户管理、数据管理等操作。管理员通常被分配到拥有最高权限的角色组中,如“超级管理员”。
通常情况下,一个管理员账户拥有一个或多个角色,这些角色可能属于不同的角色组。管理员可以根据自己的需要来分配或取消某些角色,并授予或撤销相应的访问权限。通过这种方式,可以保证系统安全性和灵活性的平衡,同时也方便管理员进行管理和授权。
1>创建角色
CREATE TABLE `fox_chatgpt_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`remark` varchar(255) DEFAULT NULL COMMENT '备注',
`role` varchar(10) DEFAULT NULL,
`status` tinyint(3) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=103 DEFAULT CHARSET=utf8mb4;
2》创建角色组
CREATE TABLE `fox_chatgpt_role_group` (
`role_group_id` int(5) NOT NULL AUTO_INCREMENT,
`name` varchar(36) CHARACTER SET utf8 DEFAULT NULL COMMENT '分组名称',
`status` tinyint(4) DEFAULT NULL COMMENT '状态 10正常 0禁用',
`role` tinyint(4) DEFAULT NULL COMMENT '角色类别 1超级管理员 2普通管理员',
PRIMARY KEY (`role_group_id`) USING BTREE
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=ujis;
3》创建登录用户和用户的role_group
CREATE TABLE `fox_chatgpt_super` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) DEFAULT NULL,
`phone` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`role_group` int(11) NOT NULL DEFAULT '0' COMMENT '角色组',
`realname` varchar(255) DEFAULT NULL COMMENT '昵称',
`avatar` varchar(255) DEFAULT '/static/img/avatar.png',
`remark` varchar(255) DEFAULT NULL,
`create_time` int(11) DEFAULT '0' COMMENT '创建时间',
`is_superuser` bigint(1) NOT NULL DEFAULT '0' COMMENT '超级管理员',
`status` bigint(1) NOT NULL DEFAULT '0' COMMENT '0表示禁用 1在用',
PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 ROW_FORMAT=DYNAMIC;
第二代码:
menu.php
第三部分:
使用接口输出到前端vue页面,展示菜单。
注:可以加微交流
