Я использую WSO2 Identity Server с XACML для авторизации.XACML выбранный пример авторизации роли - XACML для RBAC
У меня есть пользователи с серверными ролями в IS. Пользователь должен выбрать один из них для входа в приложение. Поэтому я должен предоставить пользователю только одну из всех его ролей.
Я использовал port.getDecisionByAttributes(subject, resource, action, environment);
в EntitlementService для спрашивать с SOAP WS к политике, определенной в XACML. Субъект - это имя пользователя. Но он предоставляет, потому что он использует все роли пользователя.
Пример:
- Пользователь: питер
- Роли: rolegranted, rolenotgranted, otherrole
Когда питер введите приложение и выберите rolenotgranted его следует не доступ ресурс.
Когда питер введите приложение и выберите rolegranted он должен доступа ресурса.
Как определить политику XACML? и какой метод права доступа я должен использовать?
Спасибо