diff --git a/build.gradle b/build.gradle index 924f790ab..a99ad76e8 100644 --- a/build.gradle +++ b/build.gradle @@ -58,6 +58,9 @@ dependencies { // Swagger implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.3.0' + + // Actuator + implementation 'org.springframework.boot:spring-boot-starter-actuator' } tasks.named('test') { diff --git a/src/main/java/com/gdschongik/gdsc/global/config/WebSecurityConfig.java b/src/main/java/com/gdschongik/gdsc/global/config/WebSecurityConfig.java index 18f9fb40b..e8442305d 100644 --- a/src/main/java/com/gdschongik/gdsc/global/config/WebSecurityConfig.java +++ b/src/main/java/com/gdschongik/gdsc/global/config/WebSecurityConfig.java @@ -82,6 +82,18 @@ public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http.addFilterAfter(jwtExceptionFilter(objectMapper), LogoutFilter.class); http.addFilterAfter(jwtFilter(jwtService, cookieUtil), LogoutFilter.class); + http.authorizeHttpRequests(authorize -> authorize + .requestMatchers("/oauth2/**") + .permitAll() + .requestMatchers("/gdsc-actuator/**") + .permitAll() + .requestMatchers("/onboarding/**") + .authenticated() + .requestMatchers("/admin/**") + .hasRole("ADMIN") + .anyRequest() + .authenticated()); + return http.build(); } diff --git a/src/main/resources/application-actuator.yml b/src/main/resources/application-actuator.yml new file mode 100644 index 000000000..9290215f9 --- /dev/null +++ b/src/main/resources/application-actuator.yml @@ -0,0 +1,13 @@ +management: + endpoints: + web: + exposure: + include: health + base-path: /gdsc-actuator + jmx: + exposure: + exclude: "*" + enabled-by-default: false + endpoint: + health: + enabled: true diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 41ff71fc6..37cd16cd1 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -6,9 +6,9 @@ spring: dev: "dev, datasource" include: - redis - - storage - security - swagger + - actuator logging: level: