我正在构建一个这样工作的权限系统:
DEFINE ('CAN_POST', 1);
DEFINE ('CAN_READ', 2);
DEFINE ('IS_GUEST', '');
DEFINE ('IS_USER', CAN_READ);
DEFINE ('IS_MODERATOR', CAN_READ | CAN_POST);
然后我有一个具有以下权限的当前用户:
DEFINE ('CURRENT', IS_MODERATOR);
我这样检查:
if (CURRENT & CAN_POST) print('CAN MAKE POSTS<br />');
if (CURRENT & CAN_READ) print('CAN READ STUFF<br />');
问题从这里开始:
我需要从数据库中获取当前用户权限,它当然是一个字符串。例如,我将在数据库中有类似的内容:IS_MODERATOR | CAN_REVIEW
这意味着用户拥有IS_MODERATOR
除此之外(CAN_READ, CAN_POST)
的所有权限CAN_REVIEW
。
我如何定义CURRENT
常量,它不仅具有字符串的功能,而且不起作用。 IS_MODERATOR | CAN_REVIEW