| 1234567891011121314151617181920212223242526272829303132 |
- package com.poyee.common.service.config;
- import com.poyee.common.service.common.filter.AuthenticationFilter;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.security.config.annotation.web.builders.HttpSecurity;
- import org.springframework.security.config.annotation.web.configurers.AbstractHttpConfigurer;
- import org.springframework.security.config.http.SessionCreationPolicy;
- import org.springframework.security.web.SecurityFilterChain;
- import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
- @Configuration
- public class SecurityConfig {
- private final AuthenticationFilter authenticationFilter;
- public SecurityConfig(AuthenticationFilter authenticationFilter) {
- this.authenticationFilter = authenticationFilter;
- }
- @Bean
- public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
- http.csrf(AbstractHttpConfigurer::disable) // 禁用 CSRF
- .sessionManagement(session -> session.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) // 使用无状态会话
- .authorizeHttpRequests(auth -> auth.antMatchers("/actuator/**").permitAll().anyRequest().authenticated() // 其他请求需要身份验证
- )
- .addFilterBefore(authenticationFilter, UsernamePasswordAuthenticationFilter.class); // 添加自定义过滤器
- return http.build();
- }
- }
|