0

저는 Spring Cloud를 처음 접했고 Spring Cloud 스택 즉 Eureka, Zuul, Ribbon 및 Hystrix를 사용하여 마이크로 서비스 방식으로 새로운 프로젝트를 시작하려고합니다.Spring Cloud Zuul (API 게이트웨이)

응용 프로그램은 작업을 완료하기 위해 백엔드 서비스와 상호 작용할 수있는 멍청한 UI를 가지며 백엔드 서비스는 본질적으로 휴식하며 스프링 보안으로 뒷받침되는 토큰 기반 인증 (JWT 사용)을 사용하므로 다음과 같습니다 응용 프로그램

  1. 인증 서비스의 흐름이 될 것입니다 : - 인증 서비스는 사용자 인증 및 액세스 토큰의 유효성을 검사 처리됩니다.
  2. 나머지 서비스 : 다른 서비스는 자신의 권한 부여 메커니즘, 즉 지정된 사용자 (JWT 토큰에서 식별 됨)가 요청 된 자원에 대한 액세스 권한을 가지는지 여부를 지정합니다.

내가 달성하기 위해 JWT와 봄 보안 필터를 사용했습니다 같지만 Zuul이 그림에 맞는 방법을 문서를 통해가는 내가 이것을 달성하기 위해 사용할 수있는 ZuulFilters을 발생하지만,이 I를 사용하는 동안, 매핑 할 수 없습니다 같은 장소, 즉 Zuul에서 인증/권한 부여 메커니즘을 가질 필요가 있지만 Zuul에서 인증 코드를 원하고 배포 권한을 부여하면 DB에서 모든 나머지 리소스를 역할 매핑으로 구성하지 않고 zuul에서로드 할 때마다 절약 할 수 있습니다. 의뢰.

일부 블로그/예를 통해 살펴 보았지만 대부분 SSO에 대해 이야기합니다. 누군가가 블로그 게시물이나 예제를 통해 나를 밝힐 수 있습니까?

+0

이 부분을 보시면 https://cloud.spring.io/spring-cloud- 보안/ –

+0

이 너무 .. http://stackoverflow.com/questions/30327269/spring-oauth-authorization-server-behind-spring-cloud-zuul-proxy –

답변

0

내가 아는 바로는 ziul을 API 게이트웨이로 사용하는 것입니다. zuulFilter를 작성하고 인증 서비스를 통해 수신 요청의 토큰을 확인한 다음 실제 마이크로 서비스 요청을 전달하십시오 (토큰이 제공되고 유효하다면). Microservice는 필요한 역할/권한이 있으면 토큰을 확인할 수 있습니다.

짧은 버전입니다. 각 마이크로 서비스에 대한 권한을 원한다면 zuul은이 경우 중요한 역할을하지 않습니다 (단지 간단한 API 게이트웨이입니다).

+0

답장을 보내 주셔서 감사합니다 @ barbakini, 그 ​​접근 방식을 사용했습니다 만. – Apollo

관련 문제