ОК, так что я довольно новичок во всем мире приложений, поддерживающих заявки.Мне удалось очень быстро приступить к работе с Azure ACS, но когда я пытался использовать ADFS 2.0 в качестве поставщика удостоверений, это было немного по-другому (на самом деле я хочу использовать его в качестве федеративного поставщика, но покая просто пытаюсь запустить образец, используя его в качестве провайдера идентификации).
Я просматривал руководства здесь и пытался следовать AD FS 2.0Федерация с пошаговым руководством по заявке WIF руководство, перечисленное там.Он проведет вас через настройку ADFS 2.0 вместе с небольшим примером приложения с поддержкой утверждений, которое вы можете использовать только для просмотра отправляемых утверждений.
Так что я могу запустить его, пройдя через утвержденияопределено в руководстве (только имя учетной записи Windows).Проблема в том, когда я пытаюсь добавить больше.Я могу перейти к приложению проверяющей стороны в графическом интерфейсе ADFS и добавить правило преобразования выдачи, используя шаблон правила Pass Through или Filter Incoming Claim .Тем не менее, когда я запускаю свое приложение, если только тип добавленной заявки не является Имя , он не передает претензию моему приложению.
Одна из тех, которые я хотел передать, былаадрес электронной почты для пользователя, который вошел в приложение.Поэтому я добавил правило для прохождения через адрес электронной почты, а затем обновил файл web.config примера приложения, чтобы раскомментировать эту строку в разделе demandTypeRequired :
<claimType type="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" optional="false" />
Обратите внимание, что я 'м, установив его как необязательный.Я также обновил метаданные федерации приложения, добавив следующее:
<auth:ClaimType Uri="http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress" Optional="false" xmlns:auth="http://docs.oasis-open.org/wsfed/authorization/200706" />
Затем я вошел в графический интерфейс ADFS, перешел к Доверие проверяющей стороны и выбрал Обновить.из метаданных Федерации в моем примере приложения.Таким образом, теперь в нем указана электронная почта как одно из принятых утверждений.
Затем я перешел к Доверие поставщика утверждений и добавил правило утверждения электронной почты в Правила преобразования принятия для доверия поставщика Active Directory.(указан только один).
Когда я запускаю приложение, оно не проходит через претензию электронной почты (или любые другие, которые я пытаюсь).Может кто-нибудь сказать мне, что мне здесь не хватает?
Я должен также отметить, что я выполнил тест, чтобы изменить свое приложение на only , принявшее правило требования по электронной почте, и не только не сделал этогопройти через электронную почту, но она по-прежнему проходит через Имя учетной записи Windows и Имя претензий, несмотря на то, что я даже не перечисляю их в качестве принятых претензий для своего приложения.
Если бы кто-нибудь мог указать, где я здесь резко ошибаюсь, это было бы очень признательно.
После включения регистрации в соответствии с постом в блоге ранее, вот соответствующие записи из журнала: Событие с идентификатором 1000, «Входные заявки на вызывающего абонента включены в подробности»:
Итак, вы можете видеть, что запрашиваемая мной информация совершенно явно отсутствует.У меня есть подробный вывод журнала, но на самом деле ничего другого интересного нет.Вы увидите записи трассировки для пользователя NETWORK SERVICE (с тем же набором утверждений), но ничего поразительного.Все записи журнала носят информационный характер, ошибок нет.