0

我正在构建一个 MVC3 应用程序,该应用程序需要存储安全的用户信息,例如用户 ID、用户名、电话和电子邮件。在我的研究中,我看到人们使用 httpcontext 对象以及将用户对象存储在会话状态中。

Session["User"] = user;

以前的数据存储在用户对象中。我想知道 Session[""] 和 HttpContext 对象之间的区别是什么,以及这些方法中的任何一个是否是存储这些数据的安全方式。

谢谢你的想法!

4

1 回答 1

2

HttpContext.Current.Items 是按请求存储的。其他用户无法访问它。

会话是每个用户存储。由于每个请求的用户 sessionid 都锁定了会话,因此它周围的性能很差,因此重叠的请求在等待对象可用时可能会出现性能问题。

两者都对其他用户不可用,除非在会话的情况下,有人窃取(网络上的嗅探)会话 ID 并劫持该会话。即使这样,除非您有跟踪页面,否则数据也无法访问,但请记住,如果能够窃取该页面并形成身份验证令牌,则邪恶用户可能能够以其他用户身份浏览页面(仅作为一个示例)

于 2012-06-28T15:22:39.273 回答