Я знаю, что Spring Security имеет много возможностей авторизации на основе ролей.Но что, если у меня есть два обычных пользователя, обращающихся к данным.Как я не позволю Пользователю А видеть записи, принадлежащие Пользователю Б?Например, чтобы пользователь А не мог видеть заказы, созданные другими пользователями?
Обратите внимание, что это НЕ авторизация на основе ролей.Пользователь A, пользователь B и т. Д. - все обычные пользователи, отличающиеся только своей идентичностью.
В существующем приложении Spring в настоящее время я выполняю работу с фильтром в каждом DAO, гарантируя это "... and user_id = $ 1 ... "является частью запросов.Это также уменьшает объем извлекаемых данных и снижает стоимость доступа к базе данных.
В будущем я буду разбивать свое приложение на микросервисы.Мне кажется, что каждый запрос микросервиса также должен содержать информацию UserDetails.Это звучит как анти-паттерн.
Шлюз API был бы просто потребителем подходов, которые я упоминал ранее.Итак, является ли передача информации UserDetails каждому микросервису моим лучшим подходом?
Я надеюсь, что ответ не в том, чтобы "создать роль для каждого обычного пользователя, такого как" ROLE_USER_A "," ROLE_USER_B "и т. Д.
Спасибо,
Джером.