クレーム サポートを実装したい MVC3 アプリがあります。私の目標は次のとおりです。
クリックすると、ユーザー名/パスワードと Facebook/WindowsLive/Google などのリンクを含むポップアップ ウィンドウが表示されるサインイン リンクを提供します。
/Order/Delete などの保護されたコントローラーにアクセスすると、サインイン ページに自動的にリダイレクトされます
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());
}
IDプロバイダーの選択を含むAppFabricLabsページを正常に取得します(そのページをカスタマイズする方法を理解していません)。ログインすると、returnUrl が呼び出されるため、コントローラー メソッド /Home/FederationResult に到達しますが、投稿されたフォームには waおよびwresultフィールドしか含まれていませんが、ユーザーの送信先を知るにはwctxが必要です... まだ持っていませんその理由を突き止めることができました。
wresultは XML ドキュメントであり、ログインしているユーザーの名前と電子メール アドレスが含まれていますが、残念ながらそのユーザーがアクセスした URL は含まれていません。
何かの設定に失敗したのでしょうか、それともベースから外れただけですか? 誰か考えますか?
- e