Я создаю облачные приложения, используя весну, весеннюю безопасность, спящий режим и Oauth.Схема оформления подписки: Весна
- У него разные продукты, и каждый продукт имеет несколько модулей . Модули также имеют множество функций.
- Клиенты должны подписываться на каждый продукт самостоятельно для их использования.
Каждый клиент может иметь несколько пользователей и клиентов, которым будет предоставлен доступ к их пользователю для продукта.
Клиент должен выбрать пакеты (серебро, золото, ..) при подключении для каждого продукта
Пакет будет иметь модули подробности и нет пользователей разрешено для каждого пользователя продукта и клиента будет возможность доступа только к модулям (выбранному пакету), к клиенту которых принадлежит , и к ним пользователь имеет доступ.
Мне нужно создать Rest Api для каждой функциональности.
Проблема: Я использую Spring oauth2 для защиты моего API по таким только зарегистрированным клиентам и их пользователи могут получить доступ к ним, но они могут получить доступ к .I всех API должен позволить клиентам получить доступ только те API, которые он имеет доступ к/подписанный. Как я могу достичь этого весной?
В настоящее время я планирую использовать inteceptors, но это сильно зависит от шаблона URL. Таким образом, для каждого продукта и модуля я будет иметь разные перехватчик
URL шаблона: http://abc/rest/ПРОДУКТ/МОДУЛЬ/..
Есть ли лучший способ это осуществить?
благодарит за ответ. Пожалуйста, проверьте, что я редактировал вопрос. что, если продукты являются разными приложениями на разных серверах (сервер ресурсов). Как поможет @Secured? У меня есть несколько пользователей внутри клиентов. Должен ли я назначать им доступ? –
Вы используете микросервисную архитектуру? Это зависит от вашей архитектуры, но в конечном итоге каждый зарегистрированный пользователь должен получить соответствующие роли (от клиента, которому они назначены). –
Да, это архитектура микросервиса. жаль, что я относительно новичок в весенней и весенней безопасности. Я понимаю, что мы можем реализовать то, что вы предложили. Но я хочу ограничить доступ на уровне продукта и уровне модуля.должен ли я создавать роли для каждого модуля? И пользователь может иметь доступ к нескольким модулям. поэтому каждый раз, когда клиент каждый раз подписывается на новый продукт, у меня есть роли для пользователя справа ?. Также пользователь аутентифицируется с использованием маркера Ouath. как я получу пользовательский доступ с токена Oauth? –