У меня есть куча сервисов, которые стоят за пограничным сервером Zuul. Пограничный сервер Zuul также выполняет аутентификацию. Сеанс используется всеми службами, использующими Spring Session. Я хочу иметь возможность аутентифицировать и направлять запрос службе в том же потоке. Я просмотрел руководство Дэйва Сайера где сервер шлюза может аутентифицировать и маршрутизировать запросы.
В этом проекте работают следующие команды:
curl -u admin:admin http://localhost:8080/user
curl -c cookie.txt -u admin:admin http://localhost:8080/user && curl -b cookie.txt http://localhost:8080/admin/user
Я ожидал, что это тоже сработает, но это не так:
curl -u admin:admin http://localhost:8080/admin/user
Я ожидал, что сервер шлюза пройдет аутентификацию, создаст сеанс Redis, направит запрос в службу администрирования, которая выберет аутентификацию из сеанса Redis. Запрос перенаправляется в службу администрирования, но он также пытается выполнить обычную аутентификацию и завершается ошибкой.
Вот что я вижу в журналах службы администрирования:
o.s.s.w.a.www.BasicAuthenticationFilter : Basic Authentication Authorization header found for user 'admin'
o.s.s.authentication.ProviderManager : Authentication attempt using org.springframework.security.authentication.dao.DaoAuthenticationProvider
o.s.s.a.dao.DaoAuthenticationProvider : User 'admin' not found
o.s.s.w.a.www.BasicAuthenticationFilter : Authentication request for failed: org.springframework.security.authentication.BadCredentialsException: Bad credentials
Я получаю ответ HTTP 401 Unauthorized.
Я также пытался отключить базовую аутентификацию HTTP в службе администрирования, но затем получаю ответ HTTP 403 Forbidden.
Есть ли способ добиться этого?
ОБНОВЛЕНИЕ
Я думаю, что это не может работать из-за того, как Spring Session реализован для сохранения сеанса. Я жду ответа на мой вопрос на github.
admin/user
через фильтры пружинной безопасности в шлюзе без аутентификации? Настроен ли он для начала аутентификации? - person Ahamed Mustafa M   schedule 27.12.2015spring-session
версии 1.1.0. Дополнительная информация в другом вопросе stackoverflow.com/questions/34751700/ - person shobull   schedule 25.09.2016