私のサイトでは、Windows Live を使用してユーザーを認証しています。これに関する問題は、サイトからリダイレクトされてログインし、ユーザーを自分のサイトに登録/サインインする自分の SignIn アクションに戻ることです。次に、デフォルトで SignIn アクションがユーザーのプロファイル ページにリダイレクトされます。
しかし、私が代わりに望むのは、SignIn アクションが最後に表示したページを返すことです。これは単純なはずです。
私が最初に考えたのは、ユーザーの現在の場所を保存するために、重要なアクションに次を追加することでした。
Session["LastPage"] = RedirectToAction("Index", "Home");
次に、SignIn アクションの最後に、以下を含めようとしました。
if (Session["LastPage"] != null)
return (ActionResult)Session["LastPage"];
else
return RedirectToAction("MyPage", "User");
ただし、これは実際には機能しません。ユーザーがサイトから離れてサイトに戻るたびに、私のセッションが再起動されているようです。
この問題に正しい方法で取り組んでいますか? もしそうなら、どうすればセッションがワイプされないようにできますか? 私がこれを完全に間違った方法で行っている場合、誰かが私を正しい方向に向けることができますか?