Борьба с WIF за мой собственный IPrincipal в приложении MVC - PullRequest
1 голос
/ 11 июня 2011

Я хочу добавить Azure ACS на один из моих сайтов, но у меня возникают проблемы со всей магией. У меня есть приложение MVC, которое использует глобальный фильтр, чтобы установить пользовательский IPrincipal для жизни запроса. Проблема с методологией «добавить ссылку на STS» в WIF заключается в том, что она замыкает это через HttpModule.

Это все, что я знаю: ACS возвращается в мое веб-приложение по URL-адресу, для которого я его настроил, и этот отскок представляет собой POST с нормализованным токеном SAML. Меня не интересуют настройки файлов cookie WIF или что-то в этом духе ... Я просто хочу получить претензии, которые меня интересуют, из POST и сам оттуда разбираюсь с настройками аутентификации. Какой рабочий процесс? Документация паршивая, и фокусируется на волшебном решении "щелчка правой кнопкой мыши".

Ответы [ 2 ]

2 голосов
/ 23 июля 2011

Я думаю, что есть действительно простое решение вашей проблемы:

Зарегистрируйтесь на SecurityTokenValidated событии WSFederationAuthenticationModule, установите e.Cancel на true и начните свой логический вход с помощьюинформация, предоставленная в свойстве ClaimsPrincipal аргументов события.

Установка Cancel в true для аргументов события не позволяет WIF создавать любые IPrincipal или сеанс, поэтому вы можете обрабатывать это самостоятельно.

1 голос
/ 11 июня 2011

Есть много примеров использования WIF + MVC с разными уровнями управления.Я бы предложил следующие: http://claimsid.codeplex.com или те, что есть в комплекте для обучения личности.

WIF позаботится обо всем за вас.Для более глубокой расширяемости вы должны проверить книгу Витторио .

Относительно: Я просто хочу получить интересующие меня претензии из POST и самостоятельно заняться настройкой аутентификацииоттуда.

Что бы вы хотели сделать сами, чего нет в WIF?Какие функции вы бы включили в ваш IPrincipal , который IClaimsPrincipal не предоставляет?

В WIF имеется множество ручек и рычагов со всеми видами точного контроля зерна.Возможно, это поможет, если вы поделитесь тем, чем хотите заниматься.

...