Springboot +spring security,基于多种方式配置登录用户:memory、jdbc、MyBatis

一.简介

前面章节所有的用户信息(用户名和密码)都是基于配置文件配置的,这篇文章学习基于多种方式配置登录用户,比如:

  1. memory(内存)
  2. jdbc
  3. MyBatis

二.创建项目

如何创建一个SpringSecurity项目,前面文章已经有说明了,这里就不重复写了。

三.基于memory(内存)方式

其实在配置文件中写的用户信息,最终也是被读到内存中的,截图如下:
Springboot +spring security,基于多种方式配置登录用户:memory、jdbc、MyBatis_第1张图片
这一块就是基于内存方式构建了用户信息,定义了默认的用户信息来源。

3.1配置内存方式

代码如下:

@Configuration
public class SecurityConfig {
    @Bean
    public InMemoryUserDetailsManager inMemoryUserDetailsManager(){
        UserDetails userDetails1 = User.withUsername("memory1").password("{noop}memory1").roles("memory1").build();
        UserDetails userDetails2 = User.withUsername("memory2").password("{noop}memory2").roles("memory2").build();
        return new InMemoryUserDetailsManager(userDetails1,userDetails2);
    }
}

返回结果中返回了用户信息,权限信息,还有一个details,这个我们后面是需要实现自己的,扩展我们业务中的信息。截图如下:
在这里插入图片描述

3.2验证登录

memory1,截图如下:在这里插入图片描述
memory2,截图如下:
在这里插入图片描述

四.基于JDBC 方式

4.1引入依赖

相应的版本

mysql:mysql-connector-java:8.0.32
org.springframework.boot:spring-boot-starter-jdbc

4.2获取数据库执行脚本

在这个路径下:org/springframework/security/core/userdetails/jdbc/users.ddl 得到脚本后,将_ignorecase 去掉,截图如下:
Springboot +spring security,基于多种方式配置登录用户:memory、jdbc、MyBatis_第2张图片

你可能感兴趣的:(SpringBoot,spring,security,Java开发,mybatis,spring,spring,boot)