在 PHP 中使用会话处理用户身份验证时,我看到成功登录后访问用户属性的两个主要选项:
- 将用户的主要属性加载到会话超全局中
- 仅将用户的 UID(用户名或 id # 等)加载到会话中,例如
$_SESSION['username']
,然后在页面加载时获取用户的主要属性并将它们存储在用户对象中
方法一
- 通过会话超全局更容易访问范围
方法二
- 当用户的数据被修改时,您不必担心更新会话变量,因为您在每个页面上获取它
我的问题
- 我是否忽略了其他选择?
- 通常“完成”的方式是什么?
- 性能呢?在哪种情况下哪种方法会更快?
笔记
当我说用户的“主要”属性时,我指的是那些将在许多页面上使用的属性,例如用户名、访问级别、电子邮件地址等。显然你不会加载太多的数据。
我指的是数据库存储的会话,而不是基于文件的会话。