Правило утверждения ADFS: адрес электронной почты менеджера отправки И другие параметры AD - PullRequest
0 голосов
/ 13 июля 2020

У меня есть рабочее правило, которое отправляет данные из AD, но проблема в том, что в поле менеджера мне нужно отправить адрес электронной почты, а не ссылку на данные объекта AD ie name. У меня есть рабочий код, который получает адрес электронной почты менеджера и отправляет его, но я не могу объединить эти правила с тем, который отправляет данные AD и электронную почту менеджера. Я настроил рентгеновский снимок претензий, чтобы проверить их, но все мои комбинированные тесты не удались.

Стандартное правило параметров AD, которое работает:

c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 => issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/telephone", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/streetaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/city", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/costcenter", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/company", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/manager", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/country"), query = ";mail,sn,givenName,telephoneNumber,displayName,streetAddress,l,postalCode,departmentNumber,company,manager,co;{0}", param = c.Value);

Электронная почта менеджера состоит из 2 частей, сначала получите менеджера:

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

Затем отправьте его:

c1:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
 && c2:[Type == "claim:manager/dn"]
 => issue(store = "Active Directory", types = ("claim:manager/email"), query = "(distinguishedName={1});mail;{0}", param = c1.Value, param = c2.Value);
...