2016-08-23 32 views
5

Akış, Temel Yetkilendirme içermiyorsa servise erişebilirim. i Temel Yetkilendirme kullanırsanızZuul -> Eureka Sunucusu, Temel Kimlik Doğrulama sorunu

, bu "mesaj" atar:

Aşağıda

benim gözlemler vardır "Tam kimlik bu kaynağa erişmek için gereklidir": ZuulFilter yılında

, koşmak() metodu, ben değeri elde > Temel c29tOnNvbzz ==

ama Mikro Servisi ulaştığında, ben 'boş', request.getHeader ("Yetki") olarak değerini alıyorum - -> request.getHeader ("Yetki") için null

kullanma Bahar Boot versiyonu: 1.4.0.RELEASE

This is my flow: 
------------------ 

Zuul -> Service Discovery (Eureka Server) -> Service 

Lütfen Yetkilendirme başlığı kaybolan nerede emin değilim, yardımcı olur.

Eureka Server yml file: 
------------------------- 
server.port:4001 
eureka.instance.hostname=localhost 
eureka.client.fetch-registry:false 
eureka.client.register-with-eureka:false 
eureka.client.serviceUrl.defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/ 
eureka.client.healthcheck.enabled=true 

Zuul yml file: 
----------------- 
server: 
    port: 8765 
info: 
    component: Edge Server 
eureka: 
    instance: 
    leaseRenewalIntervalInSeconds: 3 
    metadataMap: 
     instanceId: ${spring.application.name}:${random.value} 
    client: 
    # Default values comes from org.springframework.cloud.netflix.eurek.EurekaClientConfigBean 
    registryFetchIntervalSeconds: 5 
    instanceInfoReplicationIntervalSeconds: 5 
    initialInstanceInfoReplicationIntervalSeconds: 5 

endpoints: 
    restart: 
    enabled: true 
    shutdown: 
    enabled: true 
    health: 
    sensitive: false 

zuul.sensitive-headers: Cookie,Set-Cookie,Authorization 

logging: 
    level: 
    ROOT: WARN 
    se.callista: INFO 

    # Get info regarding connection to the cofig server and retries if required 
    org.springframework.cloud.config.client.ConfigServicePropertySourceLocator: INFO 
    org.springframework.retry.support.RetryTemplate: DEBUG 

    # Set INFO to see the allocated port 
    org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainer: INFO 
--- 
eureka: 
    instance: 
    preferIpAddress: true 
    client: 
    serviceUrl: 
     defaultZone: http://localhost:4001/eureka,http://localhost:4002/eureka 

cevap

0

Bu benim sorunumu çözdü, ancak sahip olduğumuz tek çözüm bu mu?

ctx.addZuulRequestHeader ("Yetki", request.getHeader ("Yetkilendirme"))

İlgili konular