Я работаю над Play Framework Rest API, который использует keycloak для аутентификации, и теперь, продлевая авторизацию, я извлек токен RPT и сохранил права доступа на основе имени ресурса.Но теперь я понятия не имею, как сопоставить мои контроллеры с именем ресурса и ограничить пользователя в использовании определенных функций, которые могут использоваться только администратором или другой ролью.Структура разрешения:
"authorization": {
"permissions": [
{
"rsid": "4bxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxx",
"rsname": "Default Resource"
},
{
"rsid": "8xxxxxx-xxxxx-xxxxx-xxxx-xxxxxxx",
"rsname": "admin_res"
},
{
"rsid": "cxxxxxx-xxxxx-xxxxx-xxxx-xxxxxxx",
"rsname": "superAdmin_res"
}
]
},
И я сохраняю все имя rsname в списке и сохраняю локально в сеансе.
Теперь я просто хочу управлять вызовами API на основе ресурсаимя и ограничение вызовов контроллера.
У меня есть KeyCloakSessionAction, который распространяется на action.simple, так как я могу передать вместе с ним детали аутентификации и ограничить некоторые контроллеры.