koa mysql 按钮级权限_按钮级别权限管理数据库设计及后台接口实现

本文介绍了如何使用Koa和MySQL搭建一个按钮级权限管理系统,包括5张表的设计:用户表、角色表、菜单表、用户角色关系表和角色菜单关系表。详细阐述了数据库逻辑和菜单、角色、用户的关系,并提供了部分SQL建表语句。后台接口实现主要涉及用户登录后的菜单获取,通过用户ID查询其可操作的菜单项,并将数据整理成树状结构返回。
摘要由CSDN通过智能技术生成

目的:

避免反复coding ,将此作为一个 component ,任何项目只需复制起表结构和后台代码即可使用,前端样式可根据项目需求做改动,只需调用后台提供的接口即可。

语言:java

数据库:mysql

数据库设计: 一共 5 张表 ,分别是用户表(t_sec_user),角色表(t_sec_role),菜单表(t_sec_menu),用户角色关系表(t_sec_re_user_role) , 角色菜单关系表(t_sec_re_role_menu)。

这里的逻辑主要是 :一个用户能够操作哪些菜单 作为一个‘组' ,'组'在这里的定义是 对菜单而言的 。对用户而言,假设 n个的用户都是很奇怪的 ,他们都想拥有不同的操作菜单。作为开发人员的我们,对于这种想法完全可以不用管。在我们心中 不管用户数量再多,我们都能用一个规则去划分用户类别,在同一个类别的用户  所操作的菜单是一样的 。简单理解 就是 菜单是小兵,角色是军队的头衔 ,用户 就是可以赋予这些头衔的人类。用户能够控制哪些小兵,是要看他是怎样的头衔(角色)。

建表sql 如下:

1 /*

2 Navicat MySQL Data Transfer3

4 Source Server : 127.0.0.1mysql5 Source Server Version : 505196 Source Host : localhost:33067 Source Database : pms8

9 Target Server Type : MYSQL10 Target Server Version : 5051911 File Encoding : 6500112

13 Date: 2017-08-13 00:23:5614 */

15

16 SET FOREIGN_KEY_CHECKS=0;17

18 -- ----------------------------

19 -- Table structure fort_sec_menu20 -- ----------------------------

21 DROP TABLE IF EXISTS `t_sec_menu`;22 CREATE TABLE `t_sec_menu` (23 `id` varchar(128) NOT NULL,24 `name` varchar(128) DEFAULT NULL COMMENT '菜单名',25 `display_name` varchar(128) DEFAULT NULL COMMENT '菜单展示名',26 `router` varchar(1024) DEFAULT NULL COMMENT '前端跳转路由',27 `params` varchar(4096) DEFAULT NULL COMMENT '参数',28 `active` decimal(1,0) DEFAULT NULL COMMENT '是否启用',29 `read_only` decimal(1,0) DEFAULT NULL COMMENT '是否只读 1 只读',30 `parent` varchar(128) DEFAULT NULL COMMENT '父级id',31 `sence` varchar(128) DEFAULT NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值