# spring-boot-security-demo **Repository Path**: fuyukanggit/spring-boot-security-demo ## Basic Information - **Project Name**: spring-boot-security-demo - **Description**: SpringBoot整合security示例 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 95 - **Created**: 2020-10-10 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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); ```