【问题标题】:Global data in ASP.Net WebsiteASP.Net 网站中的全球数据
【发布时间】:2010-08-18 08:58:21
【问题描述】:

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

谢谢, 阿比。

【问题讨论】:

    标签: c# asp.net web-applications


    【解决方案1】:

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

    另外请记住,一旦会话过期,会话不提供数据持久性,因此如果您需要数据持久性,那么数据库会更合适。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2012-01-20
          • 1970-01-01
          • 2020-08-20
          • 1970-01-01
          • 2014-07-25
          • 2014-02-01
          • 2011-07-27
          相关资源
          最近更新 更多