Zuul прокси простой аутентификации - PullRequest
0 голосов
/ 23 июня 2018

У меня есть простое приложение с весенней загрузкой, которое прокси некоторые API с Zuul Proxy

@EnableZuulProxy
@SpringBootApplication
public class DemoClientApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoClientApplication.class, args);
    }
}

application.yml

server:
  port: 8080
zuul:
  routes:
    test:
      path: /api/**
      url: http://localhost:8081/api/

localhost: 8081 имеет базовую аутентификацию, что-то вроде

localhost:8081/j_spring_security_check?j_username=user&j_password=pass

, которые возвращают мне куки с JSESSIONID и, установив этот JSESSIONID в заголовок, я могу получить ресурс.Я не могу изменить localhost: 8081, потому что это не мой сервис.Как я могу получить этот JSESSIONID и настроить его на zuul?Могу ли я сделать это только с yml?

1 Ответ

0 голосов
/ 23 июня 2018

Я думаю, что вы спрашиваете о чувствительных заголовках в опциях конфигурации. По умолчанию заголовки Cookie, Set-Cookie, Авторизация блокируются конфигурацией sensitiveHeaders: Cookie,Set-Cookie,Authorization. Его можно переопределить, но вы должны быть уверены, что не пропускаете конфиденциальную информацию в cookie-файлах вниз по течению:

 zuul:
  routes:
    users:
      path: /myusers/**
      sensitiveHeaders:
      url: https://downstream

Но сначала вы должны прочитать, почему они отключены, в документации по Spring Cloud:

Вы можете разделить заголовки между службами в одной системе, но вы вероятно, не хотят, чтобы чувствительные заголовки просачивались вниз по течению внешние серверы. Вы можете указать список игнорируемых заголовков как часть конфигурация маршрута. Куки играют особую роль, потому что они имеют четко определенную семантику в браузерах, и они всегда должны быть рассматривается как чувствительный. Если потребителем вашего прокси является браузер, то куки для последующих сервисов также создают проблемы для пользователя, потому что они все перемешаны (все нисходящие сервисы выглядят как будто они пришли из одного места).

http://cloud.spring.io/spring-cloud-netflix/single/spring-cloud-netflix.html#_cookies_and_sensitive_headers

...