ASP.Net网站中的全球数据

时间:2010-08-18 08:58:21

标签: c# asp.net web-applications

我正在ASP.Net上创建一个用户登录的网站,我需要在某处存储用户特定数据(以及一些额外数据),以便我网站中的所有页面都可以轻松访问数据。 有一段时间,许多用户可能正在访问该网站,每个用户都将拥有自己的特定数据。 目前,我正在使用会话在登录后存储数据,并在需要时访问不同页面上的数据。我也使用会话将数据从一个页面传递到另一个页面。我也不想使用cookie,因为许多公司不允许创建cookie。 我知道这不是最好的做法。你们可以建议一下管理数据的最佳方法吗?

谢谢, ABHI。

3 个答案:

答案 0 :(得分:1)

这就是MS所说的,http://msdn.microsoft.com/en-us/library/ms178581.aspx

“SessionID值以明文形式发送,无论是作为cookie还是作为URL的一部分。恶意用户可以通过获取SessionID值并将其包含在对服务器的请求中来访问另一个用户的会话。如果您正在以会话状态存储敏感信息,建议您使用SSL加密浏览器和服务器之间包含SessionID值的任何通信。“

只要您使用保存连接就可以了

答案 1 :(得分:1)

ASP.NET已经通过IPrincipal界面和User属性为您提供了有关用户的信息。

如果您需要有关每个用户的额外信息,可以使用这些信息来实现User Context

答案 2 :(得分:1)

会话不一定是不好的方式。确保会话中保存的数据尽可能简洁,并且您的应用程序将支持可能部署到的所有环境。

还要记住,一旦会话过期,Sessions就不会提供数据持久性,所以如果你需要数据持久性,那么数据库会更合适。