Мне нужны все сведения о пользователях из ADFS, использующих c#, в одном исходящем заявлении

#c#-4.0 #ldap #adfs #claims #claims-authentication

Вопрос:

привет, я создал пользовательскую заявку для этого, поэтому, пожалуйста, проверьте приведенную ниже заявку, созданную мной:

 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/givenname"), query = "(amp;(objectClass=user)(objectCategory=person));mail,givenName;{0}", param = c.Value);
 

Но в этом случае я получил все электронные письма в исходящей заявке (http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress ), Также получите все заданное имя в другом исходящем заявлении (http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname).

Пожалуйста, проверьте приведенный ниже скриншот того, как я получил значения электронной почты и имени прямо сейчас из adfs, используя код C#. https://docs.microsoft.com/en-us/answers/storage/attachments/137282-image.png

Но мне нужно одно исходящее заявление, например, по электронной почте= abc@gmail.com, Givenname=abc (с любой запятой или любым разделителем), мне нужна как электронная почта, так и имя в одном исходящем заявлении.

Я уже сгенерировал то же самое на форуме Microsoft Ignite: https://docs.microsoft.com/en-us/answers/questions/566015/how-to-get-all-users-of-adfs-with-all-attributes-e.html

Не могли бы вы помочь мне получить все данные пользователя из adfs с помощью входа в учетную запись Windows и получить все данные пользователя?

Спасибо

Ответ №1:

Ты не можешь выйти из коробки.

Это не так, как работают претензии.

Вы можете использовать пользовательское хранилище атрибутов.

Вы также можете объединить утверждения в один тип.

Смотрите это в разделе «Объединение значений утверждений».

Комментарии:

1. Я проверяю эту ссылку ( хранилище пользовательских атрибутов.), но там создается атрибут со значением, поэтому, по сути, я не добавляю к нему никакого значения, но мне нужно получить значение из ADFS. поэтому он устанавливает данные в атрибуте, а затем получает их из этого атрибута, но мне не нужно устанавливать, я просто получаю всех пользователей из adfs после аутентификации windowsaccount. Пожалуйста, проверьте эту ссылку : geeksforgeeks.org/custom-attributes-in-c-sharp

2. Ваш вопрос касался объединения двух претензий в одну. Вы передаете оба в пользовательское хранилище, соединяете их и возвращаете объединенный результат обратно.