#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. Ваш вопрос касался объединения двух претензий в одну. Вы передаете оба в пользовательское хранилище, соединяете их и возвращаете объединенный результат обратно.