约 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 仓库下载依赖
验证登录
浏览器访问 http://localhost:8080/login.html,会自动跳转到 http://localhost:8080/login,界面如下所示:
![](../../../../../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)
登录的源码
入口类是 UserDetailsService.java,入口方法是 loadUserByUsername,如下所示:
这个方法会返回一个 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