当前位置:   article > 正文

微信小程序入门03-搭建权限系统,建库建表_mysql 微信小程序

mysql 微信小程序

我们准备零基础搭建一个小程序,小程序分为两部分,一个是用户访问的程序,可以是小程序也可以是H5。另外一个就是管理员使用的管理后台,后台第一个要实现的就是搭建权限系统。为了搭建权限系统,我们先需要梳理概念

1 RBAC模型

我们首先问一下chatgpt如何设计一个权限系统

设计一个权限系统需要考虑以下几个方面:

  1. 用户与角色的关系:确定每个用户在系统中所扮演的角色,比如管理员、普通用户等。

  2. 角色与权限的关系:为每个角色分配相应的权限,比如某个角色可以查看、修改、删除某些数据,而另一个角色只能查看。

  3. 资源管理:确定需要进行权限控制的资源,比如文件、页面、数据等。

  4. 权限验证:在用户访问某个资源时,需要对用户所属的角色和该资源的权限进行验证,以决定是否允许访问。

基于以上方面,可以设计一个基本的权限系统框架。在具体实现时,可以采用一些常用的技术,比如 RBAC(基于角色的访问控制)模型、ACL(访问控制列表)模型等。同时,需要注意安全性和性能方面的考虑,比如防止恶意攻击、避免权限验证成为系统瓶颈等。

准备采用RBAC的模型,问一下chatgpt啥是RBAC

RBAC是基于角色的访问控制(Role-Based Access Control)的缩写。它是一种安全访问控制机制,它通过对用户赋予角色,进而控制用户对资源的访问。在RBAC模型中,用户角色是与其所拥有的权限相关联的。这些权限可被分配给不同的角色,而不是直接给予用户。这样做的好处是,管理员可以更轻松地管理用户和权限,而且可以更容易地分配权限给多个用户。RBAC模型被广泛地应用在计算机系统、网络安全、企业管理等领域。

我们使用e-r图来表达一下三者直接的关系
在这里插入图片描述

2 表结构设计

有了e-r图我们就可以设计数据库的表结构,分别有如下表

  1. 用户表(user)
字段名称字段类型字段名描述
user_idINT用户ID
usernamevarchar用户名
passwordvarchar密码
emailvarchar邮箱
phonevarchar手机号
  1. 角色表(role)
字段名称字段类型字段名描述
role_idINT角色ID
role_namevarchar角色名称
  1. 权限表(permission)
字段名称字段类型字段名描述
permission_idINT权限ID
permission_namevarchar权限名称
permission_descvarchar权限描述
  1. 角色权限关系表(role_permission)
字段名称字段类型字段名描述
role_idINT角色ID
permission_idINT权限ID
  1. 用户角色关系表(user_role)
字段名称字段类型字段名描述
user_idINT用户ID
role_idINT角色ID

3 数据库脚本

CREATE DATABASE diancan;
CREATE TABLE user (
  user_id INT PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50) NOT NULL UNIQUE,
  password VARCHAR(50) NOT NULL,
  email VARCHAR(50) NOT NULL UNIQUE,
  phone VARCHAR(20) NOT NULL UNIQUE
);

CREATE TABLE role (
  role_id INT PRIMARY KEY AUTO_INCREMENT,
  role_name VARCHAR(50) NOT NULL UNIQUE
);

CREATE TABLE permission (
  permission_id INT PRIMARY KEY AUTO_INCREMENT,
  permission_name VARCHAR(50) NOT NULL UNIQUE,
  permission_desc VARCHAR(100) NOT NULL
);

CREATE TABLE role_permission (
  role_id INT,
  permission_id INT,
  PRIMARY KEY(role_id, permission_id),
  FOREIGN KEY(role_id) REFERENCES role(role_id),
  FOREIGN KEY(permission_id) REFERENCES permission(permission_id)
);

CREATE TABLE user_role (
  user_id INT,
  role_id INT,
  PRIMARY KEY(user_id, role_id),
  FOREIGN KEY(user_id) REFERENCES user(user_id),
  FOREIGN KEY(role_id) REFERENCES role(role_id)
);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35

4 将Mysql添加到系统变量中

如果我们想在cmd中直接使用Mysql的命令,需要将mysql添加到系统变量中

在此电脑,点击右键,点击属性
在这里插入图片描述
点击高级系统设置
在这里插入图片描述
点击环境变量
在这里插入图片描述
选中Path,点击编辑
在这里插入图片描述
点击新建
在这里插入图片描述
输入mysql的安装目录,要选到bin目录
在这里插入图片描述
重新打开cmd,输入如下命令

mysql -V
  • 1

可以看到已经可以正常显示mysql的版本了
在这里插入图片描述

5 登录mysql

在命令行输入登录命令

mysql -uroot -p
  • 1

在这里插入图片描述

6 创建数据库

在命令行输入创建脚本

create database dianzan;
  • 1

然后输入以下脚本查看是否创建成功

show databases;
  • 1

在这里插入图片描述
然后我们切换到创建好的数据库

use dianzan;
  • 1

在这里插入图片描述
输入我们创建表的脚本
在这里插入图片描述
可以使用show tables来查看我们的表是否正常创建

总结

我们本篇是介绍如何搭建权限系统,包括如何建库建表,搭建库表就和盖房子打地基一样,地基打扎实了我们就可以往上盖楼了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/826748
推荐阅读
相关标签
  

闽ICP备14008679号