Sha*_*kan 14 c# cookies session store object
虽然这在C#中是可能的:(在这个例子中,User是一个L2S类)
User user = // function to get user
Session["User"] = user;
Run Code Online (Sandbox Code Playgroud)
为什么这不可能?
User user = // function to get user
HttpCookie cookie = new HttpCookie();
cookie.Value = user;
Run Code Online (Sandbox Code Playgroud)
怎么做呢?我不想将用户的id存储在cookie中,然后进行一些验证.
顺便说一句,如果可能的话,将对象存储在cookie中而不仅仅是ID是安全的吗?
Mar*_*ell 14
cookie只是字符串数据; 唯一的方法是将它序列化为一个字符串(xml,json,任意二进制的base-64,无论如何),但是,如果它与安全信息有关,你不应该真正信任cookie中的任何东西("谁我是吗?")作为一个:最终用户很容易改变它,而b:你不希望每一个请求都有任何大问题的开销.
IMO,缓存这个服务器是正确的; 不要把它放在一个cookie中.
Eri*_*edt 11
您可以使用JSON
string myObjectJson = new JavaScriptSerializer().Serialize(myObject);
var cookie = new HttpCookie("myObjectKey", myObjectJson)
{
Expires = DateTime.Now.AddYears(1)
};
HttpContext.Response.Cookies.Add(cookie);
Run Code Online (Sandbox Code Playgroud)