Skip to content

Commit

Permalink
Merge pull request #214 from Juinjang/feat/#213
Browse files Browse the repository at this point in the history
feat: deactivate swagger ui when prod(#213)
  • Loading branch information
yeon015 authored Sep 2, 2024
2 parents b0dc682 + cc57c17 commit f9e1c00
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 12 deletions.
31 changes: 21 additions & 10 deletions src/main/java/umc/th/juinjang/config/SecurityConfig.java
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
package umc.th.juinjang.config;

import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
import org.springframework.core.env.Environment;
import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.Customizer;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.authentication.configuration.AuthenticationConfiguration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
Expand All @@ -21,26 +20,38 @@
import umc.th.juinjang.jwt.JwtExceptionFilter;
import umc.th.juinjang.service.JwtService;

import java.util.Arrays;

@Configuration
@EnableWebSecurity
@RequiredArgsConstructor
public class SecurityConfig {
private final AuthenticationConfiguration authenticationConfiguration;

@Autowired
private final JwtService jwtService;

@Autowired
private final JwtExceptionFilter jwtExceptionFilter;

private final Environment environment;
@Bean
@Order(0)
public WebSecurityCustomizer webSecurityCustomizer(){
return web -> web.ignoring()
.requestMatchers("/swagger-ui/**", "/swagger/**", "/swagger-resources/**", "/swagger-ui.html", "/test",
"/configuration/ui", "/v3/api-docs/**", "/h2-console/**", "/api/auth/regenerate-token",
"/api/auth/kakao/**", "/api/auth/apple/**", "/api/checklist/**", "/api/report/**");

String[] activeProfiles = environment.getActiveProfiles();
boolean isProd = Arrays.asList(activeProfiles).contains("prod");

//prod아닐때
if (!isProd) {
return web -> web.ignoring()
.requestMatchers("/swagger-ui/**", "/swagger/**", "/swagger-resources/**", "/swagger-ui.html", "/test",
"/configuration/ui", "/v3/api-docs/**", "/h2-console/**", "/api/auth/regenerate-token",
"/api/auth/kakao/**", "/api/auth/apple/**");
}
else {
return web -> web.ignoring()
.requestMatchers("/h2-console/**", "/api/auth/regenerate-token",
"/api/auth/kakao/**", "/api/auth/apple/**" );
}

}

//선언 방식이 3.x에서 바뀜
Expand All @@ -54,7 +65,7 @@ protected SecurityFilterChain filterChain(HttpSecurity http) throws Exception {
.csrf(AbstractHttpConfigurer::disable)
.formLogin(Customizer.withDefaults())
.sessionManagement((sessionManagement) ->
sessionManagement.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
sessionManagement.sessionCreationPolicy(SessionCreationPolicy.STATELESS)
// 세션을 사용하지 않는다고 설정함
)
.addFilter(new JwtAuthenticationFilter(authenticationManager(authenticationConfiguration),jwtService))
Expand Down
2 changes: 0 additions & 2 deletions src/main/java/umc/th/juinjang/config/SwaggerConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@
import io.swagger.v3.oas.models.servers.Server;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Profile;

@Profile("!prod")
@Configuration
public class SwaggerConfig {

Expand Down

0 comments on commit f9e1c00

Please sign in to comment.