2014-11-20 8 views
0

Один вопрос о претензии, если два разных магазина пользователя возвращают атрибут с тем же именем, и я сопоставляю этот атрибут с претензией uri.WSO2: Что происходит, когда более одного хранилища пользователей возвращают атрибут с тем же именем?

, например: две базы данных атрибута «телефон», и возврат пользователя, и я добавить новую заявку с URI = http://example.com/claim/phone отображения в атрибуте «телефон».

что он будет возвращать, когда я буду использовать требование uri как атрибут в политике XACML?

P.S .: Я пытался запустить wso2 локально, но не смог.

ответ

0

В политике XACML вы можете определить эту претензию uri как идентификатор атрибута в категории subject. Тогда PIP будет срабатывать, когда будет получен запрос XACML.

<AttributeDesignator AttributeId="http://example.com/claim/phone" Category="urn:oasis:names:tc:xacml:3.0:attribute-subject" DataType="http://www.w3.org/2001/XMLSchema#string" MustBePresent="true"/>

Если запрос XACML содержит имя пользователя без имени домена bob или с PRIMARY/bob. Атрибут поиск будет в магазине PRIMARY пользователя (который магазин пользователя был настроен в user-mgt.xml файле)

Если запрос XACML содержит имя пользователя с именем домена, Domain/bob, он будет искать атрибут пользователя, phone из вторичного хранилища пользователей, определенного Domain.

Идея заключается в том, что, когда вы используете XACML с несколькими магазинами пользователей, вам необходимо отправить имя пользователя с именем домена. Я думаю, что это нормально, потому что авторизация произошла после аутентификации. Когда аутентификация каким-либо образом может быть известна доменное имя пользователя (пользовательское хранилище, которое было проверено пользователем).

Если различные магазины пользователя подвергаются различные атрибуты для той же претензии Урия, вы можете настроить его так же, как указано в here