inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

AuthorizationHeaderFilter 구현

gateway와 userService 간의 인증 정보 공유 문제에 관해 질문 드립니다!

522

qpal1zm23

작성한 질문수 28

0

안녕하세요 선생님 강의 잘 듣고 있습니다.

강의 수강 중 질문이 생겨서요!

 

  1. user-service는 mvc 기반의 app으로 spring security를 통해 인증을 처리하므로, tomcat의 JSESSIONID 를 기반으로 하여 Security Context에 Authentication 객체의 유무를 통해 인증이 된 사용자인지 안 된 사용자인지 Security Filter Chain에서 체크를 하는 것으로 알고 있습니다.

그런데

  1. 또한 gateway도 이중화 구성이 가능한가요?.. userService를 2,3중화 한 것처럼 gateway도 여러 대의 인스턴스로 기동하면 eureka에서 다중 구성한 서버로 인식해주는 건가요??...

  2. 혹시 gateway에도 Spring Security를 적용시키는 경우도 있을까요?.. 권한 별 접근 제어를 구현하기 위해서는 해당 라이브러리를 사용해야 할 것 같아서요!

  3. 또한 gateway에서 커스텀 필터를 만들 때, apply 메소드의 return 타입이 GatewayFilter 로 되어있는데, Mono<Void> 타입으로 return을 해도 되는 건가요?... Mono<Void>는 mvc에서 return 타입이 void 인 것과 같은 의미 아닌가요?...

     

    열심히 강의해주셨는데 질문의 너무 많아 죄송합니다..ㅠ 답변 기다리겠습니다! 항상 감사드립니다!!

     

spring-boot jpa 아키텍처 spring-cloud kafka msa

답변 1

0

인프런 AI 인턴

안녕하세요 qpal1zm23님, 질문 주셔서 감사합니다! 여러 가지 질문에 대한 답변을 드리겠습니다.

  1. gateway와 user-service 사이에서 인증 정보를 공유하기 위해서는 세션 공유, 토큰 기반 인증 등의 방법을 사용할 수 있습니다. 간단한 방법으로는 JWT(Json Web Token)을 사용하여 gateway로부터 발급된 토큰을 user-service로 전달하여 인증 정보를 공유할 수 있습니다.

  2. gateway도 이중화 구성이 가능합니다. 여러 대의 gateway 인스턴스를 기동하고 해당 인스턴스들을 Eureka 서버에 등록하여 다중 구성된 서버로 인식할 수 있습니다.

  3. gateway에도 Spring Security를 적용시킬 수 있습니다. Spring Cloud Gateway는 일종의 필터 체인을 가지고 있어서 인증, 권한 등의 접근 제어를 구현할 수 있습니다.

  4. GatewayFilter의 apply 메소드의 반환 타입은 Mono이 맞습니다. Mono는 비동기 처리를 위해 사용되며, 반환 값이 없음을 의미합니다. 따라서 Mono를 반환하여도 문제가 없습니다.

답변이 도움이 되셨는지 확인 부탁드리며, 추가적인 질문이 있으시면 언제든지 주저하지 마시고 물어보세요. 즐거운 학습되시길 바랍니다! 감사합니다.

kafka 업데이트 강의 듣고 시포요

0

85

1

강의 교안

0

73

1

마이크로서비스간 통신 시, 인증 처리

0

79

1

api gateway 에서 인증 처리

0

65

1

섹션 19 질문드립니다

0

53

1

강의 자료 업데이트

0

82

1

부하분산 강의 섹션

0

57

1

강의자료는 어디에서?

0

71

1

강의 자료는 어디서 다운 받을 수 있나요?

0

110

1

전체 사용자 조회시 오류

0

58

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

110

2

학습 방향

0

95

2

카프카 커넥터 사용 목적 문의

0

85

2

kafka 강의

0

108

2

서비스 디스커버리 종류

0

87

2

강의 자료에 대해서 궁금해요

0

116

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

90

2

Kafka Source Connect 버전 에러

0

85

2

소스커넥터는 사용안한 거 맞죠?

0

81

2

강의자료 업데이트 문의

0

95

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

56

1

강의 업데이트 계획이 궁금합니다.

0

112

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

161

2

어떤 것이 업데이트 된 건가요?

0

164

2