使用Spring Boot开发的WEB应用,有时候我们并不需要复杂的权限验证,只需要使用固定的账号密码登录访问即可,这种场景通过整合Spring Security,不需要太多的配置就能很好的满足,就连登录页面Spring Security都已经给我们准备好了,下面就来给大家演示下具体怎么使用~
- Spring Boot版本 2.5.4
使用方式
1. 修改Spring Boot工程中的pom.xml maven配置文件,添加Spring Security的依赖
示例配置:
https://github.com/netbuffer/spring-security-demo/blob/config-user-yaml/pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
示例配置:https://github.com/netbuffer/spring-security-demo/blob/config-user-yaml/src/main/resources/Application.yaml
spring:
security:
user:
# 替换为你自定义的设置
name: admin
password: admin
3. 建立测试用的Controller,在没有显示配置Spring Security权限路径的情况下,用户如果没有登录,那么除了登录路径/login可以访问外,其他资源路径都会被Spring Security的过滤器拦截,并强制重定向到登录页面!
示例代码:
https://github.com/netbuffer/spring-security-demo/blob/config-user-yaml/src/main/java/cn/netbuffer/springsecuritydemo/controller/AppController.java
@RestController
@RequestMapping("/app")
public class AppController {
@GetMapping
public String get(){
return "app";
}
}
运行效果
此时,已经做好了最基本的配置了,启动工程访问测试下
GET /app HTTP/1.1
Host: localhost:18000
访问受保护的资源路径/App,可以看到会被Spring Security拦截并重定向到了登录页面,输入正确的账号密码后才可以正常访问

完整效果

spring security.gif
完整测试工程地址:
https://github.com/netbuffer/spring-security-demo/tree/config-user-yaml















暂无评论内容