跳至主要內容

悟空约 302 字大约 1 分钟...

SpringSecurity 简介

入门 Demo

勾选 Spring Web 和 Spring Security 依赖

在 pom.xml 文件中会自动引入下面两个依赖:

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

当有大量依赖无法失败时,将项目设置为 Maven 项目,就会自动去 Maven 仓库下载依赖

image-20220909094545108
image-20220909094545108

验证登录

浏览器访问 http://localhost:8080/login.html,会自动跳转到open in new window http://localhost:8080/login,界面如下所示:open in new window

![](../../../../../Library/Application Support/typora-user-images/image-20220909115009209.png)

这个登录页不是我写的 login.html 页面,而是 Spring Security 框架帮我们生成的。

密码可以从 IDEA 的控制台拿到,a3314080-797f-48fc-9ed4-8508d1cf4e50,用户名是 user。

然后提交用户名和密码,会自动跳回到 http://localhost:8080/login.html![](http://cdn.jayh.club/uPic/image-20220909135710805KhSQ5V.png)open in new window

登录的源码

入口类是 UserDetailsService.java,入口方法是 loadUserByUsername,如下所示:

image-20220909142033542这个方法会返回一个 UserDetails.java 接口类,它的实现类是 User.java

org/springframework/security/core/userdetails/User.java

加密工具

BCryptPasswordEncoder

自定义登录逻辑

/**
 * @author 悟空聊架构
 * @description TODO
 * @date 2022/9/10 16:49
 * @site www.passjava.cn
 * @github https://github.com/Jackson0714
 */
@Configuration
public class SecurityConfig {
    @Bean
    public PasswordEncoder getPasswordEncoder() {
        return new BCryptPasswordEncoder();

    }
}

输入 123456 才能登录成功

评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.3.0