У меня есть приложение MVC3, для которого я хочу реализовать поддержку заявок. Моя цель заключается в следующем:
предоставляет ссылку для входа в систему, которая при нажатии отображает всплывающее окно с именем пользователя / паролем и ссылками Facebook / WindowsLive / Google и т. Д.
автоматически перенаправляет на мою страницу входа в систему при доступе к защищенному контроллеру, например, / 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-адрес, на который направился пользователь.
мне не удалось что-то настроить или я просто с базы? мысли кто-нибудь?