2016-10-28 1 views
0

내 게이트웨이 중 하나에서 모든 microservice API에 대한 액세스를 비활성화하려고합니다. 이것은이 게이트웨이에서 각도 앱을 게시하기를 원하기 때문입니다.Jhipster 액세스 제어 정책이 작동하지 않습니다.

나는이 노력하고있어,하지만 그렇지가 작동하는 것 같다 :

https://jhipster.github.io/microservices-architecture/#acl

게이트웨이를 디버깅, 나는 AccessControlFilter.java 드 작업과 금지 된 HttpStatus을 반환하려고하는 것을 볼 수 run() 메서드에서,하지만 난 API를 액세스하고 200 코드 응답을 얻을.

답변

2

개인적으로, 오히려 완전히 zuul 프록시를 사용하지 않도록보다, 내가 수동으로 설치 경로에 zuul 속성을 변경합니다 :

zuul:  
    ignoredServices: '*' 
    routes: 
    app1: 
     path: /app1/** 
     serviceId: app1 

는 당신이 필요로하는 경로를 추가합니다.

+0

트와 크! 완벽하게 작동합니다. 이것은 내가 찾고 있던 해결책입니다 ... 나는 그들이 문서에 이것을 넣지 않은 이유를 알지 못합니다. – Snowblind

+0

그들은 그것을 문서화했다 : http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#netflix-zuul-reverse-proxy –

0

모든 서비스에 대해 API 프록 싱을 강력하게 비활성화하려면 가장 편리하고 안전한 방법은 응용 프로그램에서 @EnableZuulProxy@EnableDiscoveryClient을 제거하여 Zuul을 완전히 무시하고 Eureka를 사용하지 않도록 설정하는 것입니다.

게이트웨이가 더 이상 게이트웨이가 아니지만 일반 스프링 부팅 응용 프로그램 또는 nginx에서 각도 응용 프로그램을 제공하는 것이 더 쉬울 것입니다.

+0

감사합니다. 작동합니다! 코드에서 'RouteLocator'빈의 @Inject 주석을 모두 비활성화해야한다는 점에 주목하십시오. – Snowblind

관련 문제