All streams
Search
Write a publication
Pull to refresh
0
0
Send message
Если я правильно понял, вы предлагаете хранить связь пользователь-роль-объект доступа в каждом ресурсном микросервисе, но всё равно, при наличии глобальных ролей, обращаться в сервис ролей за ними, тем самым делая на один запрос к какому-либо ресурсу 1 сетевой запрос и 1 запрос в БД.

Не проще/правильнее ли хранить весь список ACL(в перемешку с глобальными ролями, у которых нет объектов доступа) в сервисе аутентификации/авторизации, и при получении входящего запроса ресурсным микросервисом, получать весь(или отфильтрованный относительно микросервиса) список ACL и дальше на месте уже решать — давать доступ или нет.
Это решение позволяет не «размазывать» роли пользователя по микросервисам, а держать их централизованно в одном stateless сервисе(можно масштабировать как угодно, под возросшие нагрузки и в ресурсных микросервисах не нужно знать, какой микросервис отвечает за определенную роль/разрешение, соответственно не плодить кучу клиентов к этим сервисам, а иметь всего один клиент к сервису аутентификации/авторизации).

Information

Rating
Does not participate
Registered
Activity