Home | 简体中文 | 繁体中文 | 杂文 | Github | 知乎专栏 | Facebook | Linkedin | Youtube | 打赏(Donations) | About
知乎专栏

第 57 章 Springboot 3 + Security 6

目录

57.1. Spring Security with HTTP Auth
57.1.1. 默认配置
57.1.2. 设置用户名和密码
57.1.3. 禁用 Security
57.1.4. 设置角色
57.2. Springboot 3 Security + OncePerRequestFilter
57.2.1. OncePerRequestFilter
57.2.2. SecurityConfiguration
57.3. SecurityFilterChain
57.4. @PreAuthorize
57.4.1. hasRole
57.4.2. hasAnyRole
57.4.3. 从 HttpServletRequest 返回的 request 变量中判断角色
57.4.4. getAuthentication() 获得角色
57.4.5. UserDetailsService
57.5. httpBasic 配置
57.6.

57.1. Spring Security with HTTP Auth

57.1.1. 默认配置

如果在 maven 中引入了 spring security当你启动 springboot 的时候会提示

			
Using generated security password: 1cd27b90-1208-4be2-ae8e-0f564ee427b8			
			
			

默认用户名是 user 可以这样访问

			
neo@MacBook-Pro ~ % curl -s http://user:1cd27b90-1208-4be2-ae8e-0f564ee427b8@localhost:8080/member/json
{"status":false,"reason":"","code":0,"data":{}} 			
			
			

57.1.2. 设置用户名和密码

			
spring.security.user.name=test
spring.security.user.password=test
spring.security.user.role=USER		
			
			

57.1.3. 禁用 Security

方法一

			
@EnableAutoConfiguration(exclude = {
		org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration.class
})
			
			
			
			
@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class Application {
	public static void main(String[] args) {
		System.out.println("Web Starting...");
		SpringApplication.run(Application.class, args);
	}
}
			
			

57.1.4. 设置角色

			
spring:
  security:
    user:
      name: kaven
      password: itkaven
      roles:
        - USER
        - ADMIN