From 0162a5cc6d3f462517fb519c6a58a5e728903d88 Mon Sep 17 00:00:00 2001 From: haozq <1611483981@qq.com> Date: Thu, 16 Jan 2025 19:19:29 +0800 Subject: [PATCH] first commit --- README.md | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..da477b2 --- /dev/null +++ b/README.md @@ -0,0 +1,66 @@ +# 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); +``` \ No newline at end of file