2016-11-16 10 views
0

Мой дизайн приложений является то, что, как показано ниже:Spring Security в качестве микро-службы

Browser --- вызовы ----> Web MicroService ---- вызовы ---> REST микро сервис

REST Client --calls -> REST микросервис.

Я хотел использовать функцию весны в качестве точки входа для приложения для аутентификации пользователя/сеанса/клиента и повторного использования информации о пользователе в подстрочных микросервисах. Я думал, что у меня есть служба безопасности.

Browser ->Служба безопасности ----> Web MicroService ----> REST microService

REST Client ---->Служба безопасности ----> REST Service.

Вопросы:

  1. как служба безопасности будет передавать необходимую информацию о пользователе в другие службы?

  2. Если в службе веб-службы и службы REST необходимо интегрировать Spring Security, как будет выполняться проверка маркера, когда веб-служба REST вызывается службой отдыха или непосредственно клиентом отдыха?

  3. Каким должен быть идентификатор клиента и секретный ключ при генерировании токенов JWT для вопроса 2?

ПРИМЕЧАНИЕ: Все услуги будут иметь доступ к той же базе данных

+0

Да, прокси было бы правильным решением. Спасибо @Alpar –

+0

переместил комментарий в ответ. – Alpar

ответ

1

Если я понимаю правильно, вы просматриваете службы безопасности как прокси-сервер, который обрабатывает авторизацию и вызовы корыто к службе отдыха? Почему бы не ограничить доступ к сети службе REST, чтобы убедиться, что все запросы проходят через службу безопасности? Затем вы можете указать имя пользователя и другие параметры информации, которые отправляются службой безопасности в REST, потому что вы можете доверять значениям, которые вы получаете. В противном случае у вас может быть другой сервис отдыха, который обрабатывает auth и отправляет обратно токены JWT, которые используются для вызова других сервисов.