Как WIF взаимодействует с [Авторизовать]?

У меня есть приложение MVC3, в которое я интегрирую WIF. Перед тем, как начать этот путь, я украсил некоторые из моих контроллеров так, чтобы они требовали аутентификации, примерно так:

namespace MyProject.Web.Controllers
{
    [Authorize(Roles = "Admin,User")]
    public class TestController : Controller
    {

поэтому, пока контроллер не был украшен, пользователю не предлагалось ввести учетные данные. Я довел приложение до такой степени, что я получаю страницу со списком вариантов аутентификации для Google, Yahoo, Facebook и Windows Live, но проблема в том, что я получаю эту страницу независимо от того, какой контроллер я нажимаю (даже просто запрашивая / заставляет его всплывать).

как это должно работать? есть ли там статья (еще не нашла), в которой обсуждается, как WIF может защитить одни страницы, но не другие?

TIA - e


person ekkis    schedule 17.07.2011    source источник


Ответы (1)


Похоже, что у WIF есть собственный IHttpModule, что означает, что он уже выполняется к моменту попадания в ваш контроллер.

Похоже, что эта тема уже обсуждалась. Я бы посмотрел эти ресурсы:

person Richard Szalay    schedule 17.07.2011
comment
Спасибо. Я нашел те же самые ссылки, и они содержат много действительно интересной информации ... особенно страницу MSDN. Я сейчас внедряю, так что посмотрим, как это пойдет! - person ekkis; 18.07.2011
comment
просто чтобы закрыть этот вопрос ... ответ таков: пассивное перенаправление необходимо отключить через <wsFederation passiveRedirectEnabled="false" в Web.Config - для приложений MVC нам нужно обрабатывать вещи вручную, как указано в ссылках @ Richard - person ekkis; 18.07.2011