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

问题描述

| 客户或管理员登录后,其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做任何事情。     ,        两者之间的主要区别在于,在第一种情况下,仅在下一个会话中才可见对用户组的更改(例如,用户已登录,而管理员在更改组);而在其他情况下,立即生效。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...