史郎許可学習フレームワーク - テーブルデザイン

免責事項:この記事はブロガーオリジナル記事です、続くBY-SAのCC 4.0を著作権契約、複製、元のソースのリンクと、この文を添付してください。
このリンク: https://blog.csdn.net/weixin_44988811/article/details/102737075

アクセス許可モデル

ここに画像を挿入説明
参照権限モデルは、独自のテーブルを設計します

テーブルデザイン

権利管理システムでは、一般的に5つの表が含まれた
ユーザテーブル1.sys_users
2.sys_rolesロールテーブル
3.sys_permissions権限またはリソースの表では、
ユーザーの役割テーブル4.sys_users_roles
5.sys_roles_permissionsロール権限テーブルを

sys_usersユーザテーブル

CREATE TABLE `sys_users` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '用户id',
  `account` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '账号',
  `password` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '密码',
  `sex` tinyint(1) DEFAULT '0' COMMENT '性别 0男 1女',
  `idcard` varchar(225) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '身份证',
  `email` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '邮箱',
  `phone` varchar(45) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '电话',
  `status` tinyint(1) DEFAULT '0' COMMENT '状态(0启用 1冻结 2删除)',
  `createtime` datetime DEFAULT NULL COMMENT '用户创建时间',
  `lasttime` datetime DEFAULT NULL COMMENT '最后登录时间',
  `salt` varchar(45) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '加密盐值',
  `roleid` int(225) DEFAULT NULL COMMENT '角色id',
  `age` int(3) DEFAULT NULL COMMENT '年龄',
  `updatetime` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

sys_rolesロールテーブル

CREATE TABLE `sys_roles` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '角色id',
  `name` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '角色名称',
  `description` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '角色描述',
  `pid` bigint(11) DEFAULT NULL COMMENT '父节点,当前角色的上级节点',
  `available` tinyint(1) DEFAULT NULL COMMENT '是否锁定(0否 1是)',
  `createtime` datetime DEFAULT NULL COMMENT '角色创建时间',
  `updatetime` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

sys_permissions権限またはリソーステーブル

CREATE TABLE `sys_permissions` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '权限id',
  `name` varchar(100) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限名称',
  `description` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限描述',
  `url` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限访问路径',
  `perms` varchar(255) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '权限标识',
  `parentid` bigint(11) DEFAULT NULL COMMENT '父级权限id',
  `type` tinyint(1) DEFAULT NULL COMMENT '类型   0:目录   1:菜单   2:按钮',
  `order` int(3) DEFAULT NULL COMMENT '排序',
  `icon` varchar(50) COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '图标',
  `status` tinyint(1) DEFAULT '0' COMMENT '状态:0有效;1删除',
  `createtime` datetime DEFAULT NULL COMMENT '创建时间',
  `updatetime` datetime DEFAULT NULL COMMENT '更新时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

sys_users_rolesユーザーの役割テーブル

CREATE TABLE `sys_users_roles` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '用户角色关系表id',
  `userid` bigint(11) DEFAULT NULL COMMENT '用户id',
  `roleid` bigint(11) DEFAULT NULL COMMENT '角色id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

sys_roles_permissionsロール権限リソーステーブル

CREATE TABLE `sys_roles_permissions` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '角色权限关系表id',
  `roleid` bigint(11) DEFAULT NULL COMMENT '角色id',
  `permissionid` bigint(11) DEFAULT NULL COMMENT '权限id',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;

詳細な要約は、実際のビジネス・ロジックに応じて調整改変しました。

おすすめ

転載: blog.csdn.net/weixin_44988811/article/details/102737075