【问题标题】:Best way to get user permission获得用户许可的最佳方式
【发布时间】:2013-06-12 23:22:30
【问题描述】:

所以我正在制作一个小网站来娱乐和学习。现在我使用 PHP 和 PDO。 我想知道的是最好的方法是什么,这样我就可以看到用户拥有什么权限。而不是像在用户页面上那样在每个页面上进行查询以查看用户是否有权编辑它,然后在论坛中查询以查看他们是否可以删除帖子等。这似乎很糟糕。所以我想知道最好的方法是什么?我应该为所有内容设置一个会话吗?现在这就是我登录时的方式:

// if we found a match
if ($row) {
    $_SESSION['id'] = $row['id'];
    header("Location: index.php");
    exit;
}

  id | title | can_edit_users | can_ban_users | can_delete_post...
  1    Member        0               0                0

  id | title | can_edit_users | can_ban_users | can_delete_post...
  2     Mod          0               0                1

  id | title | can_edit_users | can_ban_users | can_delete_post...
  3    Admin         1               1                1

用户

id | group_id | username | password

【问题讨论】:

  • 我学会了在会话范围内尽可能少地投入的艰难方法。使用现代浏览器,用户可以通过打开新选项卡或窗口来更改这些变量,并导致更新错误记录。不过,在这种特殊情况下,这可能不是问题。

标签: php sql pdo


【解决方案1】:

我将为给定的登录用户标题加载整个权限标志。您还可以使用位掩码在一个数字中表示多个字段。

【讨论】:

  • 位掩码部分为真,但不是必要的优化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-05
相关资源
最近更新 更多