인프런 커뮤니티 질문&답변

aanicall님의 프로필 이미지

작성한 질문수

스프링 시큐리티 완전 정복 [6.x 개정판]

혹시 webflux 방식에서도 동적 커스텀 권한 관리가 가능할까요?

24.05.31 12:00 작성

·

98

0

안녕하세요. 강의 열심히 듣고 이것저것 많이 배우고 있습니다.

강사님 강의 중 동적으로 권한 정보를 읽어다 적용하는 부분을 배웠습니다.

혹시 webflux 방식에서도 동적 커스텀 권한 관리가 가능할까요?

자료를 찾아봐도 딱히 방법에 대해 자료가 많이 검색이 되지 않는데

가능 여부만이라도 확인이 가능할까 해서 여쭤봅니다.

 

답변 2

0

정수원님의 프로필 이미지
정수원
지식공유자

2024. 06. 05. 15:34

음..

저도 webflux 기반으로는 테스트 해 보지 않아서 정확한 답변을 드리기가 어렵네요..

하지만 비동기적으로 요청과 응답이 이루어진다는 것만 다를 뿐 전체적인 설계구조나 흐름이 비슷하다는 가정하에서는 가능하지 않을까 합니다.

이부분은 추후에 webflux 기반 스프링 시큐리티 주제를 다룬다면 답변이 될 것 같습니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 02. 12:06

안녕하세요, 인프런 AI 인턴입니다.
aanicall님, WebFlux 방식에서도 동적 커스텀 권한 관리가 가능합니다.
Spring Security를 활용하여 WebFlux 어플리케이션을 보호하는 방법에는 여러 가지가 있으멀로, 자세한 구현 방법은 Spring Boot 공식 문서를 참고하세요.

예를 들어, SecurityWebFilterChain 빈을 커스터마이징하여 동적 권한 관리를 구현할 수 있습니다.
Java와 Kotlin 예제를 아래에서 확인할 수 있습니다.

Spring Boot Reference Documentation v3.1.5 - WebFlux Security에서 자세한 내용을 확인하실 수 있습니다.

import org.springframework.boot.autoconfigure.security.reactive.PathRequest;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.web.server.ServerHttpSecurity;
import org.springframework.security.web.server.SecurityWebFilterChain;

import static org.springframework.security.config.Customizer.withDefaults;

@Configuration(proxyBeanMethods = false)
public class MyWebFluxSecurityConfiguration {

    @Bean
    public SecurityWebFilterChain springSecurityFilterChain(ServerHttpSecurity http) {
        http.authorizeExchange((exchange) -> {
            exchange.matchers(PathRequest.toStaticResources().atCommonLocations()).permitAll();
            exchange.pathMatchers("/foo", "/bar").authenticated();
        });
        http.formLogin(withDefaults());
        return http.build();
    }

}

위와 같은 방법으로 필요한 커스터마이징을 진행하실 수 있습니다.

aanicall님의 프로필 이미지

작성한 질문수

질문하기