gpt4 book ai didi

web-applications - 存储登录的用户详细信息

转载 作者:行者123 更新时间:2023-12-04 04:56:33 26 4
gpt4 key购买 nike

当创建一个Web应用程序时,假设您有一个表示单个用户的User对象,您认为存储该用户已登录的最佳方法是什么?

我考虑过两种方法:

  • 将用户数据库ID存储在 session 变量
  • 将整个用户对象存储在 session 变量


  • 是否有更好的建议,使用上述方式有任何问题?可能是安全性问题或内存问题,等等,等等。

    最佳答案

    我建议存储id而不是对象。缺点是,每次要获取该用户的信息时,您都必须访问数据库。但是,除非每毫秒都在您的页面中计数,否则性能应该不是问题。这里有两个优点:

  • 如果用户信息有所更改,那么您将不会在 session 中存储过时的信息。例如,如果管理员授予用户额外的特权,则这些特权将立即可用,而无需用户注销然后重新登录。
  • 如果您的 session 信息存储在硬盘驱动器上,则您只能存储可序列化的数据。因此,如果您的User对象包含数据库连接,打开套接字,文件描述符等内容,则该对象将无法正确存储,也可能无法正确清除。

  • 在大多数情况下,这些问题将不会成为问题,并且两种方法都可以。

    关于web-applications - 存储登录的用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20993/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com