2017-12-01 2 views
-2

Zur Zeit verwende ich Sitzungen, um meine Anwendung zu steuern, ich werde jetzt Cookies verwenden, aber meine Fragen sind auf CRUD Ich benutze var user_code = Convert.ToInt32 (HttpContext.Current.Session ["userId "]); zu Identifikatoren mein Benutzer und behalte meine DB, mit Cookies, wie es geht?Asp.net MVC Sitzung zu Cookies

+0

Sie sollten 'Session' nicht verwenden. Ich schlage vor, dass Sie einige Zeit damit verbringen, die Grundlagen von [Authentifizierung und Autorisierung] (https://www.asp.net/mvc/overview/security) in MVC zu verstehen. –

Antwort

0

Wenn Sie Value zu Session zuweisen, können Sie es Cookie zuweisen. Sie müssen ein Cookie hinzufügen, wenn sich der Benutzer zur Sicherheit in einem verschlüsselten Format anmeldet.

Code zum Erstellen von Cookies.

private HttpCookie CreateCookie() 
{ 
    HttpCookie FooCookies = new HttpCookie("userId"); 
    FooCookies.Value = "hello"; 
    FooCookies.Expires = DateTime.Now.AddHours(1); 
    return FooCookies; 
} 

//some action method 
Response.Cookies.Add(CreateCookie()); 

-Code für das Lesen Wert von Cookies.

var cookie = Request.Cookies["userId"]; 
    if (cookie != null) 
    { 
     var value = cookie.Value; 
     // TODO: do something with the value 
    } 

On logout müssen Sie dieses Cookie entfernen, die Sie erstellt haben.

if (Request.Cookies["userId"] != null) 
{ 
    var c = new HttpCookie("userId"); 
    c.Expires = DateTime.Now.AddDays(-1); 
    Response.Cookies.Add(c); 
} 
+0

Ich verwende FormsAuthenticationTicket, um meine Rollen zu speichern. Gibt es ein Problem 2 Cookies oder dort, um es auf FormsAuthenticationTicket zu tun? – lorranpalmeira