0

私のサイトでは、Windows Live を使用してユーザーを認証しています。これに関する問題は、サイトからリダイレクトされてログインし、ユーザーを自分のサイトに登録/サインインする自分の SignIn アクションに戻ることです。次に、デフォルトで SignIn アクションがユーザーのプロファイル ページにリダイレクトされます。

しかし、私が代わりに望むのは、SignIn アクションが最後に表示したページを返すことです。これは単純なはずです。

私が最初に考えたのは、ユーザーの現在の場所を保存するために、重要なアクションに次を追加することでした。

Session["LastPage"] = RedirectToAction("Index", "Home");

次に、SignIn アクションの最後に、以下を含めようとしました。

if (Session["LastPage"] != null)
    return (ActionResult)Session["LastPage"];
else
    return RedirectToAction("MyPage", "User");

ただし、これは実際には機能しません。ユーザーがサイトから離れてサイトに戻るたびに、私のセッションが再起動されているようです。

この問題に正しい方法で取り組んでいますか? もしそうなら、どうすればセッションがワイプされないようにできますか? 私がこれを完全に間違った方法で行っている場合、誰かが私を正しい方向に向けることができますか?

4

1 に答える 1

0

WindowsLiveLogin オブジェクトの ReturnUrl プロパティを設定する必要があります (使用している場合)。

http://msdn.microsoft.com/en-us/library/cc287661.aspx

于 2012-05-04T17:06:53.630 に答える