Update SecurityConfig.java

This commit is contained in:
Administrator
2026-01-29 07:28:25 +00:00
parent ca48fb0d19
commit 9121a53529
@@ -9,11 +9,10 @@ import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.AuthenticationEntryPoint; import org.springframework.security.web.AuthenticationEntryPoint;
import org.springframework.security.web.SecurityFilterChain;
import org.springframework.security.web.access.AccessDeniedHandler; import org.springframework.security.web.access.AccessDeniedHandler;
import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter; import org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter;
import org.springframework.web.cors.CorsConfigurationSource;
@Configuration @Configuration
@EnableMethodSecurity @EnableMethodSecurity
@@ -23,7 +22,6 @@ public class SecurityConfig {
public SecurityConfig(JwtAuthenticationFilter jwtAuthenticationFilter) { public SecurityConfig(JwtAuthenticationFilter jwtAuthenticationFilter) {
this.jwtAuthenticationFilter = jwtAuthenticationFilter; this.jwtAuthenticationFilter = jwtAuthenticationFilter;
} }
@Bean @Bean
@@ -33,22 +31,26 @@ public class SecurityConfig {
response.setContentType("application/json"); response.setContentType("application/json");
response.getWriter().write("{\"message\":\"Unauthorized\"}"); response.getWriter().write("{\"message\":\"Unauthorized\"}");
}; };
AccessDeniedHandler accessDeniedHandler = (request, response, ex) -> { AccessDeniedHandler accessDeniedHandler = (request, response, ex) -> {
response.setStatus(403); response.setStatus(403);
response.setContentType("application/json"); response.setContentType("application/json");
response.getWriter().write("{\"message\":\"Forbidden\"}"); response.getWriter().write("{\"message\":\"Forbidden\"}");
}; };
http http
.csrf(csrf -> csrf.disable()) .csrf(csrf -> csrf.disable())
.sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .sessionManagement(sm -> sm.sessionCreationPolicy(SessionCreationPolicy.STATELESS))
.authorizeHttpRequests(auth -> auth .authorizeHttpRequests(auth -> auth
.requestMatchers(org.springframework.http.HttpMethod.OPTIONS, "/**").permitAll() .requestMatchers(org.springframework.http.HttpMethod.OPTIONS, "/**").permitAll()
.requestMatchers("/api/auth/**").permitAll() .requestMatchers("/api/auth/**").permitAll()
.requestMatchers("/api/facebook/webhook").permitAll()
.anyRequest().authenticated()) .anyRequest().authenticated())
.exceptionHandling(ex -> ex .exceptionHandling(ex -> ex
.authenticationEntryPoint(entryPoint) .authenticationEntryPoint(entryPoint)
.accessDeniedHandler(accessDeniedHandler)) .accessDeniedHandler(accessDeniedHandler))
.addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class); .addFilterBefore(jwtAuthenticationFilter, UsernamePasswordAuthenticationFilter.class);
return http.build(); return http.build();
} }
@@ -61,4 +63,4 @@ public class SecurityConfig {
public AuthenticationManager authenticationManager(AuthenticationConfiguration configuration) throws Exception { public AuthenticationManager authenticationManager(AuthenticationConfiguration configuration) throws Exception {
return configuration.getAuthenticationManager(); return configuration.getAuthenticationManager();
} }
} }