MVC3 + WIF - FederationResult отсутствует "wctx" - PullRequest
3 голосов
/ 22 июля 2011

У меня есть приложение MVC3, для которого я хочу реализовать поддержку заявок. Моя цель заключается в следующем:

  1. предоставляет ссылку для входа в систему, которая при нажатии отображает всплывающее окно с именем пользователя / паролем и ссылками Facebook / WindowsLive / Google и т. Д.

  2. автоматически перенаправляет на мою страницу входа в систему при доступе к защищенному контроллеру, например, / Order / Удалить

Я настроил приложение и провайдеров на AppFabricLabs.com и включил STS в свой проект. Я также создал реализацию IAuthorizationFilter, чтобы пометить свои контроллеры как [WifAuth] и успешно вызвать метод OnAuthorization. Я реализовал сценарий использования, где посетитель не был аутентифицирован, как это:

    private static void AuthenticateUser(AuthorizationContext context)
    {
        var fam = FederatedAuthentication.WSFederationAuthenticationModule;
        var signIn = new SignInRequestMessage(new Uri(fam.Issuer), fam.Realm);
        context.Result = new RedirectResult(signIn.WriteQueryString());
    }

и успешно получить страницу AppFabricLabs с выбором моего провайдера идентификации (не выяснил, как настроить эту страницу). Когда я вхожу в систему, вызывается returnUrl, поэтому я оказываюсь в методе контроллера / Home / FederationResult, однако отправленная мне форма содержит только поля wa и wresult , но мне нужно wctx чтобы узнать, куда отправить пользователя ... Я не смог понять, почему.

wresult - это XML-документ, который содержит (помимо миллиарда других) имя и адрес электронной почты пользователя, вошедшего в систему, но, к сожалению, не содержит URL-адрес, на который направился пользователь.

мне не удалось что-то настроить или я просто с базы? мысли кто-нибудь?

  • е

1 Ответ

3 голосов
/ 22 июля 2011

Просто укажите контекст для SignInRequestMessage:

signIn.Context = HttpContext.Current.Request.RawUrl;

Параметр wctx включен в каждый запрос / ответ, а также является частью формы, публикуемой окончательно на вашем сайте.

...