Возможно ли объединение строк правил требований ADFS?
Я новичок в правилах утверждений adfs, но мне удалось настроить нормальное сопоставление. Теперь мой клиент попросил меня добавить 4 статических буквы, например "1234", перед входящим атрибутом LDAP. Например, добавьте "1234" перед атрибутом "Адреса электронной почты". Я прочитал о синтаксисе языка правил утверждений, но не смог найти функцию добавления.
1 ответ
Примеры правил ниже.
@RuleName = "add temp claim email to pipeline as a var for processing"
c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> add(store = "Active Directory", types = ("http://temp.org/emailaddress"), query = ";mail;{0}", param = c.Value);
@RuleName = "massage var to issue real email claim"
c:[Type == "http://temp.org/emailaddress"]
=> issue(Type = "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", Value = "1234" + c.Value);
Это приведет к выдаче электронного письма со значением 1234john@contoso.com, если атрибут почты AD имеет значение атрибута john@contoso.com.
Вам следует просмотреть https://social.technet.microsoft.com/wiki/contents/articles/4792.understanding-claim-rule-language-in-ad-fs-2-0-higher.aspx, поскольку в нем много хороших примеры по синтаксису.
Затем создайте проверяющую сторону Claimsxray согласно https://adfshelp.microsoft.com/ClaimsXray/TokenRequest и проверьте свои правила. Когда у вас есть набор правил, которые работают, вы можете использовать их на реальной предполагаемой проверяющей стороне.