springboot3整合SpringSecurity实现登录校验与权限认证
@Configuration
public class SecurityConfig {
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
http
.authorizeHttpRequests(authorize -> authorize
.requestMatchers("/login").permitAll() // 允许访问登录接口
.requestMatchers("/error").permitAll() // 允许访问错误处理接口
.requestMatchers("/css/**", "/js/**", "/images/**").permitAll() // 允许访问静态资源
.anyRequest().authenticated() // 其他所有请求需要身份验证
)
.formLogin(formLogin -> formLogin
.loginPage("/login") // 自定义登录页面
.permitAll() // 允许登录页面被访问
)
.logout(logout -> logout
.logoutUrl("/logout") // 自定义注销接口
.permitAll() // 允许注销操作
)
.csrf(csrf -> csrf
.csrfTokenRepository(CookieCsrfTokenRepository.withHttpOnlyFalse()) // 禁用CSRF保护
)
.httpBasic(withDefaults()); // 启用HTTP基本认证
return http.build();
}
}
这段代码定义了一个SecurityConfig
配置类,其中使用了HttpSecurity
构建器来配置Spring Security的安全规则。它设置了登录页面、注销页面、允许访问的静态资源路径,以及其他请求的认证方式。此外,它还禁用了CSRF保护,启用了HTTP基本认证。这个配置类可以作为Spring Security的入口点,用于保护应用程序的安全。
评论已关闭