2015-03-30 6 views
0

Я использую WSO2 Identity Server с XACML для авторизации.XACML выбранный пример авторизации роли - XACML для RBAC

У меня есть пользователи с серверными ролями в IS. Пользователь должен выбрать один из них для входа в приложение. Поэтому я должен предоставить пользователю только одну из всех его ролей.

Я использовал port.getDecisionByAttributes(subject, resource, action, environment); в EntitlementService для спрашивать с SOAP WS к политике, определенной в XACML. Субъект - это имя пользователя. Но он предоставляет, потому что он использует все роли пользователя.

Пример:

  • Пользователь: питер
  • Роли: rolegranted, rolenotgranted, otherrole

Когда питер введите приложение и выберите rolenotgranted его следует не доступ ресурс.

Когда питер введите приложение и выберите rolegranted он должен доступа ресурса.

Как определить политику XACML? и какой метод права доступа я должен использовать?

Спасибо

ответ

0

Я, наконец, выполнил требования, передающие роль в предмете arg метода getDecisionByAttributes. WSO2 IS не проверяет, существует ли этот вопрос, поэтому я могу передать что-либо здесь и проверить его в правиле политики.

1

На самом деле, вам нужно написать политику, основанную XACML роль в PDP. Метод обслуживания прав, который вы используете, в порядке. Вы можете отправить имя пользователя в запросе XACML и проверить роли пользователя, используя хранилище пользователей (через PIP), я хотел бы предложить вам пройти через блог this. В нем объясняется, как вы можете написать политику XACML на основе роли в WSO2IS и использовать ее свойство.

Смежные вопросы