【问题标题】:How to store user preferences in a web app?如何在 Web 应用程序中存储用户偏好?
【发布时间】:2010-09-21 20:30:04
【问题描述】:

我想知道一种在网络应用中存储用户偏好的良好软件工程方法。 进一步澄清,我的应用程序有用户可以选择的命令,所以 i added a button that when some commands are selected, these commands are saved as favorites somewhere on the client's machine, that way if user X logs in at anytime he can check his favorite commands and load them automatically..

如何保存这些命令以及保存在哪里?并考虑到使用同一台计算机的多个用户不应访问每个人的收藏夹,因此我希望根据 userID 保存收藏夹。在哪里以及如何保存它们?饼干? xml?用php还是javascript更好?

非常感谢您的帮助:)

【问题讨论】:

    标签: cookies preferences settings


    【解决方案1】:

    最好的方法是让他们在访问您的网站时登录。然后,您将所有首选项存储在您的服务器上,并通过您的 UI 将它们传送到他们的浏览器。这意味着无论他们碰巧使用什么浏览器/设备,他们的设置都会跟随他们。

    我不确定我是否喜欢在浏览器中修改某人的“收藏夹”。我不确定我是否会坚持使用想要对我的浏览器进行这种级别控制的网站。

    现在,如果您只是在谈论在您的网站上创建一个包含“收藏夹”列表的页面,那也没关系。只需将其保留在服务器端即可。

    【讨论】:

      【解决方案2】:

      最典型的做法是将它们存储在服务器端的某种数据库中,用户 ID 可以轻松访问它们。请记住,“首选项”与“状态”不同。状态变量通常通过您使用的任何 cookie 机制存储。

      【讨论】:

      • 您对州和偏好有何看法?
      【解决方案3】:

      您的网络应用程序使用什么来在后端保存数据?最有可能的是,这就是您要存储用户首选项的地方。由于您已经在访问该后端(也许是一个数据库?)来验证用户的登录身份,因此从那里检索该用户的首选项是一个简单的步骤。

      这里的真实情况是我们需要更多细节。您是将身份验证信息存储在数据库中还是其他什么地方?您的用户会话是如何存储的(即,当用户登录时,您的 Web 应用程序如何告诉他的浏览器已在后续请求中登录)?您的问题似乎说明了这一点,但要澄清一下,这些 PHP 页面是否包含一些 Javascript?

      【讨论】:

        【解决方案4】:

        取决于您的要求。如果您的用户进行身份验证,您将需要选择将用户首选项存储在数据库中,这可能是首选解决方案。但如果它满足您的要求,您可以将用户偏好保存在 cookie 中。

        这里是 javascript 函数和 jquery 插件以及how to work with cookies 上的示例。

        【讨论】:

          猜你喜欢
          • 2015-05-30
          • 2012-11-28
          • 1970-01-01
          • 2021-02-14
          • 2014-03-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-07
          相关资源
          最近更新 更多