66 lines
3.0 KiB
Markdown
66 lines
3.0 KiB
Markdown
# spring-boot-security-demo
|
||
|
||
#### 项目介绍:
|
||
SpringBoot整合security示例实现权限注解+JWT登录认证(数据库中测试号的密码进行了加密,密码皆为123456)
|
||
|
||
相关文章请移步到:https://juejin.im/post/5da82f066fb9a04e2a73daec
|
||
|
||
SpringBoot版本:2.1.6
|
||
|
||
SpringSecurity版本: 5.1.5
|
||
|
||
MyBatis-Plus版本: 3.1.0
|
||
|
||
JDK版本:1.8
|
||
|
||
#### 数据结构(SQL脚本在项目中):
|
||
表结构:
|
||
``` sql
|
||
CREATE TABLE `sys_menu` (
|
||
`menu_id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`name` varchar(50) NOT NULL COMMENT '权限名称',
|
||
`permission` varchar(200) DEFAULT NULL COMMENT '权限标识',
|
||
PRIMARY KEY (`menu_id`) USING BTREE
|
||
) ENGINE=InnoDB AUTO_INCREMENT=87 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='权限表';
|
||
CREATE TABLE `sys_role` (
|
||
`role_id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '角色ID',
|
||
`role_name` varchar(50) NOT NULL COMMENT '角色名称',
|
||
PRIMARY KEY (`role_id`) USING BTREE
|
||
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='角色表';
|
||
CREATE TABLE `sys_role_menu` (
|
||
`id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`role_id` bigint(11) DEFAULT NULL COMMENT '角色ID',
|
||
`menu_id` bigint(11) DEFAULT NULL COMMENT '权限ID',
|
||
PRIMARY KEY (`id`) USING BTREE
|
||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='角色与权限关系表';
|
||
CREATE TABLE `sys_user` (
|
||
`user_id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
|
||
`username` varchar(50) NOT NULL COMMENT '用户名',
|
||
`password` varchar(100) DEFAULT NULL COMMENT '密码',
|
||
`status` varchar(10) DEFAULT NULL COMMENT '状态 PROHIBIT:禁用 NORMAL:正常',
|
||
PRIMARY KEY (`user_id`) USING BTREE,
|
||
UNIQUE KEY `username` (`username`) USING BTREE
|
||
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='系统用户表';
|
||
CREATE TABLE `sys_user_role` (
|
||
`id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'ID',
|
||
`user_id` bigint(11) DEFAULT NULL COMMENT '用户ID',
|
||
`role_id` bigint(11) DEFAULT NULL COMMENT '角色ID',
|
||
PRIMARY KEY (`id`) USING BTREE
|
||
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='用户与角色关系表';
|
||
```
|
||
表数据:
|
||
``` sql
|
||
INSERT INTO `sys_menu` VALUES (1, '查看用户信息', 'sys:user:info');
|
||
INSERT INTO `sys_menu` VALUES (2, '查看所有权限', 'sys:menu:info');
|
||
INSERT INTO `sys_menu` VALUES (3, '查看所有角色', 'sys:role:info');
|
||
INSERT INTO `sys_role` VALUES (1, 'ADMIN');
|
||
INSERT INTO `sys_role` VALUES (2, 'USER');
|
||
INSERT INTO `sys_role_menu` VALUES (1, 1, 1);
|
||
INSERT INTO `sys_role_menu` VALUES (2, 1, 2);
|
||
INSERT INTO `sys_role_menu` VALUES (3, 1, 3);
|
||
INSERT INTO `sys_role_menu` VALUES (4, 2, 1);
|
||
INSERT INTO `sys_user` VALUES (1, 'admin', '$2a$10$5T851lZ7bc2U87zjt/9S6OkwmLW62tLeGLB2aCmq3XRZHA7OI7Dqa', 'NORMAL');
|
||
INSERT INTO `sys_user` VALUES (2, 'user', '$2a$10$szHoqQ64g66PymVJkip98.Fap21Csy8w.RD8v5Dhq08BMEZ9KaSmS', 'NORMAL');
|
||
INSERT INTO `sys_user_role` VALUES (1, 1, 1);
|
||
INSERT INTO `sys_user_role` VALUES (2, 2, 2);
|
||
``` |