实现权限登录

实现权限登录数据库校验用户​从之前的分析我们可以知道,我们可以自定义一个UserDetailsService,让SpringSecurity使用我们的UserDetailsService。我们自己的UserDetailsService可以从数据库中查询用户名和密码数据库CREATETABLE`sys

大家好,欢迎来到IT知识分享网。

数据库校验用户

​ 从之前的分析我们可以知道,我们可以自定义一个UserDetailsService,让SpringSecurity使用我们的UserDetailsService。我们自己的UserDetailsService可以从数据库中查询用户名和密码

数据库

  CREATE TABLE `sys_user` (
  `id` BIGINT(20) NOT NULL AUTO_INCREMENT COMMENT ‘主键’,
  `user_name` VARCHAR(64) NOT NULL DEFAULT ‘NULL’ COMMENT ‘用户名’,
  `nick_name` VARCHAR(64) NOT NULL DEFAULT ‘NULL’ COMMENT ‘昵称’,
  `password` VARCHAR(64) NOT NULL DEFAULT ‘NULL’ COMMENT ‘密码’,
  `status` CHAR(1) DEFAULT ‘0’ COMMENT ‘账号状态(0正常 1停用)’,
  `email` VARCHAR(64) DEFAULT NULL COMMENT ‘邮箱’,
  `phonenumber` VARCHAR(32) DEFAULT NULL COMMENT ‘手机号’,
  `sex` CHAR(1) DEFAULT NULL COMMENT ‘用户性别(0男,1女,2未知)’,
  `avatar` VARCHAR(128) DEFAULT NULL COMMENT ‘头像’,
  `user_type` CHAR(1) NOT NULL DEFAULT ‘1’ COMMENT ‘用户类型(0管理员,1普通用户)’,
  `create_by` BIGINT(20) DEFAULT NULL COMMENT ‘创建人的用户id’,
  `create_time` DATETIME DEFAULT NULL COMMENT ‘创建时间’,
  `update_by` BIGINT(20) DEFAULT NULL COMMENT ‘更新人’,
  `update_time` DATETIME DEFAULT NULL COMMENT ‘更新时间’,
  `del_flag` INT(11) DEFAULT ‘0’ COMMENT ‘删除标志(0代表未删除,1代表已删除)’,
  PRIMARY KEY (`id`)
  ) ENGINE=INNODB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COMMENT=’用户表’
引入MybatisPuls和mysql驱动的依赖

<dependency>
  <groupId>com.baomidou</groupId>
  <artifactId>mybatis-plus-boot-starter</artifactId>
  <version>3.4.3</version>
</dependency>
<dependency>
  <groupId>mysql</groupId>
  <artifactId>mysql-connector-java</artifactId>
</dependency>
​ 配置数据库信息

实现权限登录

  定义Mapper接口

实现权限登录

实现权限登录

 配置Mapper扫描

实现权限登录

 ​ 添加junit依赖

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-test</artifactId>
</dependency>
测试Mapper是否能正常使用

实现权限登录

 核心代码实现

创建一个类实现UserDetailsService接口,重写其中的方法。更加用户名从数据库中查询用户信息

实现权限登录

因为UserDetailsService方法的返回值是UserDetails类型,所以需要定义一个类,实现该接口,把用户信息封装在其中

实现权限登录

 注意:如果要测试,需要往用户表中写入用户数据,并且如果你想让用户的密码是明文存储,需要在密码前加{noop}。例如

实现权限登录

 这样登陆的时候就可以用sg作为用户名,1234作为密码来登陆了

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/31415.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信