Помогите понять как это должно выглядеть и работать. У меня есть gateway и есть сервис который занимается бизнес логикой (для примера хватит одного, в проекте их больше). Я хочу сделать что бы gateway занимался проверкой прав у того или иного юзера и вообще занимался определением юзера.
В обычном монолите я бы просто навесил свою какую то аннотацию (@RolesAllowed, @FeaturesAllowed) на метод контроллера
@GetMapping(path = "/some-path")
@RolesAllowed("USER")
@FeaturesAllowed({"PRINT"});
public Object getSomeObject(UserState userState) {
// do something with data from user state
return null;
}
Но как должна выглядеть эта проверка на уровне gateway? Ведь там навешивать аннотации не на что, и делать получается только через фильтра?
И еще одна не понятная мне вешь для проверки всей нужной информации в gateway мне необходим UserState, за которым я полезу в базу, но этот же UserState мне нужен и в контроллерах микросервисов, для получения той же id юзера и еще кое какой информации. Мне его нужно передавать из gateway или же формировать его непосредственно в самом микросервисе? Откуда должен браться этот UserState в методах контроллера?
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости