1

在我的数据库中,用户有角色,每个角色都有权限。权限有两个字段权限组(如用户、帖子、评论)和权限操作(按位添加 01、删除 02、编辑 04、批准 08)。

例如,要添加和批准帖子:

permission[POST_PERMISSION_GROUP]= 01 | 08 ;

我想将它存储到用户的会话中。但是一旦管理员更改了用户的权限,该用户的会话应该被更新。现在我处于两难境地,是否应该在会话中缓存这些权限,或者更好地直接从数据库中读取它们?每次用户可以访问每个页面时,都必须检查几个权限。

如果您分享您的经验,那就太好了。

4

1 回答 1

0

使用权限可以做两件事:

  • 检查某个用户是否有权限。
  • 设置某个用户是否有权限。

为此,您需要两个功能:

  • check_permission($user, $permission)
  • set_permission($user, $permission, $allowed)

这些功能的第一个实现应该操纵权限的权威来源(即可能是数据库)。

如果你没有遇到性能问题,就这样吧。如果您已经确认,检查和设置 perissions 花费的时间太长,那么优化,而不是更早。

于 2013-07-06T14:34:22.603 回答