我正在构建一个MVC3应用程序,需要存储安全的用户信息,如用户ID,用户名,电话和电子邮件。在我的研究中,我看到人们使用httpcontext对象以及在会话状态下存储用户对象。
Session["User"] = user;
以前的数据存储在用户对象中。我想知道Session [“”]和HttpContext对象之间的区别是什么,如果这些方法中的任何一种都是存储这些数据的安全方式。
感谢您的想法!
答案 0 :(得分:2)
HttpContext.Current.Items是一个按请求存储。其他用户无法访问它。
会话是每个USER商店。由于会话被每个请求的用户sessionid锁定,因此它的性能不佳,因此重叠请求可能会在等待对象变为可用时出现性能问题。
其他用户都无法使用这两个用户,除非在会话中,有人窃取(网络上的sniif)会话ID并劫持该会话。即使这样,除非你有一个跟踪页面,否则数据是不可访问的,但请记住,恶意用户可能能够以不同的用户浏览页面,如果能够窃取它并形成身份验证令牌(仅作为一个示例)