Мы внедряем решение SSO на базе SAML2 и используем PicketLink на стороне SP.Как сопоставить значения атрибута утверждения SAML для ролей в SP с помощью PicketLink?
На IDP стороны мы имеем другую реализацию, настроенная для вывода многозначного memberOf
атрибутов (это на самом деле LDAP/AD-членство в группе Таким образом, мы получаем в основном получить что-то подобное в утверждении:.
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ... >
...
<saml:Assertion ...>
...
<saml:AttributeStatement>
<saml:Attribute FriendlyName="Role" Name="Role">
<saml:AttributeValue>authenticated</saml:AttributeValue>
</saml:Attribute>
<saml:Attribute FriendlyName="memberOf" Name="memberOf">
<saml:AttributeValue>CN=ga-A-102213-...</saml:AttributeValue>
<saml:AttributeValue>CN=g-z-MeetingPlace,...</saml:AttributeValue>
<saml:AttributeValue>CN=g-z-Serviceportal,...</saml:AttributeValue>
<saml:AttributeValue>CN=g-z-BCM...</saml:AttributeValue>
...
</saml:Attribute>
</saml:AttributeStatement>
...
</saml:Assertion>
</samlp:Response>
Мой вопрос, как я могу настроить PicketLink/JBoss, чтобы отобразить эти memberOf
значения на конкретные роли в прикладном/SP?
например, что CN=g-z-MeetingPlace,...
должны быть сопоставлены с ROLE_MEETING
или CN=g-z-BCM...
должны быть отображены на ROLE_BCM
. Возможно, мы могли бы написать модуль для входа в систему, но для меня это очень стандартная задача. Однако пока не удалось найти конфигурационное решение.