SpringBoot集成SpringSecurity(十一、数据库方式配置用户)

本文介绍了如何将SpringBoot集成SpringSecurity,并将用户信息存储到数据库中。详细讲解了用户、角色、权限相关的表设计,包括用户表、角色表、用户角色表、资源表和角色权限表的创建,以及测试数据的导入,确保admin角色拥有所有权限,user角色具有查看权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

之前文章中,用户是在内存中配置的,接下来将用户信息存放到数据库中,然后从数据库读取用户信息。

表设计

这里会设计到用户,角色,权限表
在这里插入图片描述

创建用户表

DROP TABLE IF EXISTS `sys_user`;
CREATE TABLE `sys_user` (
  `id` char(19) COLLATE utf8mb4_general_ci NOT NULL COMMENT '主键id',
  `nick_name` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT '昵称',
  `mobile` char(11) COLLATE utf8mb4_general_ci NOT NULL COMMENT '手机号',
  `username` varchar(64) COLLATE utf8mb4_general_ci NOT NULL COMMENT '用户名',
  `password` varchar(60) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '密码',
  `user_face` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT '头像',
  `is_disabled` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否禁用,0:否,1:是',
  `is_locked` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否锁定,0:否,1:是',
  `is_expired` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否过期,0:否,1:是',
  `is_credentials_expired` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '凭证是否过期,0:否,1是',
  `create_time` datetime NOT NULL COMMENT '创建时间',
  `update_time` datetime NOT NULL COMMENT '更新时间',
  `is_deleted` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否删除,0:未删除,1:删除',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci COMMENT='系统用户';

导入测试用户,密码是通过加密过后的(123)

INSERT INTO `sys_user` VALUES ('1', '系统管理员', '13821856321', 'admin', '$2a$10$oE39aG10kB/rFu2vQeCJTu/V/v4n6DRR0f8WyXRiAYvBpmadoOBE.', 'https://liuym-edu.oss-cn-beijing.aliyuncs.com/avatar/default/9e7fbeaa-6f50-4aaa-8207-73cb4ec3d1f2.jpg', 0, 0, 0, 0, '2021-5-5 11:48:04', '2021-5-5 11:48:06', 0);
INSERT INTO `sys_user` VALUES ('2', '普通用户', '15667056321', 'user', '$2a$10$oE39aG10kB/rFu2vQeCJTu/V/v4n6DRR0f8WyXRiAYvBpmadoOBE.', 'https://liuym-edu.oss-cn-beijing.aliyuncs.com/avatar/default/9e7fbeaa-6f50-4aaa-8207-73cb4ec3d1f2.jpg', 0, 0, 0, 0, '2021-5-17 23:01:02', '2021-5-17 23:01:05'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值