web-dev-qa-db-ja.com

MVCでのセッション管理

私はMVCが初めてです。 MVC4 Razorで新しいWebApplicationを作成しています。すべてのページのユーザーログインセッションを維持したい。誰でもMVCのすべてのビューのセッションを維持する方法を簡単な例で説明できますか?.

11
SanketS

セッション管理は簡単です。セッションオブジェクトは、MVCコントローラー内およびHttpContext.Current.Session。同じオブジェクトです。 Sessionの使用方法の基本的な例を次に示します。

書く

Session["Key"] = new User("Login"); //Save session value

読んだ

user = Session["Key"] as User; //Get value from session

質問に答える

if (Session["Key"] == null){
   RedirectToAction("Login");
}

フォーム認証 をチェックして、高度に安全な認証モデルを実装してください。


更新:ASP.NET MVCの新しいバージョンでは、ASP.NET Identity Frameworkを使用する必要があります。 この記事 をご覧ください。

19
Andrei

以下に例を示します。ユーザーの検証をチェックした後にセッションを管理したいので、このデモでは、有効なユーザーのチェックをハードコーディングするだけです。アカウントでログイン

public ActionResult Login(LoginModel model)
        {
            if(model.UserName=="xyz" && model.Password=="xyz")
            {
                Session["uname"] = model.UserName;
                Session.Timeout = 10;
                return RedirectToAction("Index");
            }
}

インデックスページで

public ActionResult Index()
        {
            if(Session["uname"]==null)
            {
                return Redirect("~/Account/Login");
            }
            else
            {
                return Content("Welcome " + Session["uname"]);
            }
        }

サインアウトボタン

Session.Remove("uname");
return Redirect("~/Account/Login");
4
Vedprakash_Comp

Asp.Netアプリケーションに取り組んでいますか?フォーム認証を使用すると、ユーザーセッションを簡単に維持できます。

以下のリンクを参照してください: http://www.codeproject.com/Articles/578374/AplusBeginner-27splusTutorialplusonplusCustomplusFhttp://msdn.Microsoft.com/en-us /library/ff398049(v=vs.100).aspx

3
Mak