通过会话或数据库检查用户组级别?

问题描述

| 客户或管理员登录后,其member_id将存储在会话中(
$_SESSION[\'member_id\']
) 组级别有很多,最好像这样存储在会话中:
$_SESSION[\'group_id\'] = 2;
还是从数据库中检查组级别?
SELECT group_id FROM users where member_id = .  $_SESSION[\'member_id\'];
我已经为前端编写了Users Login类,对于后端使用相同的类没有错吗?     

解决方法

        如果您将member_id存储在会话变量中,为什么不使用group_id?会话变量允许请求之间的数据持久化,这似乎是您所需要的。 尽管有些人建议尽量减少会话数据,例如:
 $_SESSION[\'uid\'] = 5;
 $_SESSION[\'logged_on\'] = true;
我不会将group_id视为会话var的错误用法,因为在您的情况下member_id依赖group_id做任何事情。     ,        两者之间的主要区别在于,在第一种情况下,仅在下一个会话中才可见对用户组的更改(例如,用户已登录,而管理员在更改组);而在其他情况下,立即生效。