2014-12-18 1 views
0

Мы внедряем решение 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. Возможно, мы могли бы написать модуль для входа в систему, но для меня это очень стандартная задача. Однако пока не удалось найти конфигурационное решение.

ответ

0

Похоже, мы это выяснили.

Что нам нужно было org.jboss.security.auth.spi.RoleMappingLoginModule:

<login-module code="org.jboss.security.auth.spi.RoleMappingLoginModule" 
    flag="optional"> 
    <module-option name="rolesProperties">roles.properties</module-option> 
</login-module> 

Mapping между именами AD группы и внутренних ролей приложений настраивается в файле: roles.properties

CN\=ga-A-102213-...=SomeInternalRole 
Смежные вопросы