2015-08-11 3 views
1

Я реализую SAML с помощью веб-приложения и ADFS. Сторона аутентификации работает, но теперь нам нужно передать дополнительную информацию. Приложение требует ответа SAML в следующем формате:Пользовательские правила требований ADFS

<saml:AttributeStatement> 
<saml:Attribute Name="mailNickname"> 
<saml:AttributeValue xsi:type="xs:string">joe.smith182</saml:AttributeValue> 
</saml:Attribute> 
<saml:Attribute Name="memberOf"> 
<saml:AttributeValue>CN=SCHOOL.STUDENT.YR9,OU=Groups,OU=Portal,OU=Services,DC=ABC,DC=WIN</saml:AttributeValue> 
</saml:Attribute> 
<saml:Attribute Name="sn"> 
<saml:AttributeValue xsi:type="xs:string">Smith</saml:AttributeValue> 
</saml:Attribute> 
<saml:Attribute Name="givenName"> 
<saml:AttributeValue xsi:type="xs:string">Joe</saml:AttributeValue> 
</saml:Attribute> 
<saml:Attribute Name="mail"> 
<saml:AttributeValue xsi:type="xs:string">[email protected]</saml:AttributeValue> 
</saml:Attribute> 
<saml:Attribute Name="borrowerType"> 
<saml:AttributeValue xsi:type="xs:string">Student</saml:AttributeValue> 
</saml:Attribute> 
<saml:AttributeStatement> 

Каких правила рекламации нам нужно установить в ADFS, чтобы получить эту информацию, переданную в этом формате? В частности, как мы можем получить атрибут memberOf? Я не знаком с форматированием правил претензии в ADFS, поэтому любые советы будут оценены.

ответ

0

Если вы добавили правило, использующее заявку, это довольно просто. Я не помню, как выглядит inteface, но когда вы добавляете заявку, выберите шаблон правила претензии: Отправьте атрибуты LDAP в качестве претензий.

Затем введите имя и выберите членство (или что-то в этом роде) в раскрывающемся списке атрибутов LDAP и введите memeberOf в типе исходящей заявки.

Затем сохраните правило и вы shoudl хорошо идти

Если вы хотите иметь пользовательские имя атрибута добавить эти два правила

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"] 
=> add(store = "Active Directory", types = ("memberOf"), query = ";memberOf;{0}", param = c.Value); 


c:[Type == "memberOf"] 
=> issue(Type = "YOUR_CUSTOM_NAME", Value = c.Value); 
+0

Спасибо за Ваш ответ Стефан. Некоторые из них должны быть прямолинейными, но я не уверен, есть ли способ их установить, чтобы они отправили имя настраиваемого атрибута. В частности, я не уверен, что это член, который должен передать некоторые детали в строке из AD. Я даже не уверен, что это возможно, поэтому надеемся на некоторые подсказки ... Спасибо за ваше время. – SJT

+0

Попробуйте правила претензии, которые я добавил в answere –

+0

спасибо! даст ему уйти. – SJT

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