小编Ele*_*ing的帖子

角色和权限的“正确设计”模式会是什么样子?

我正在创建一个与 Discord 具有类似角色和权限系统的应用程序。

基本上

  • 用户是组的成员
  • 组有角色
  • 角色有权限
  • 用户一次可以与一个角色关联。

我不知道如何设计这样的系统。最初,我想我应该有一个roles表,对于每个权限都会有一个布尔列,例如:can_change_nickname

但这似乎不太正确...

如果您有任何推荐的读物,或者可以提供详细说明为什么这样做的答案,我将非常感激。

  • AUSER是 1 个或多个的成员GROUPS
  • AGROUP可以有 1 个或多个ROLES
  • AROLE可以有 1 个或多个PERMISSIONS
  • AUSER只能PERMISSION通过将 aROLE与这些 一起分配来获得PERMISSIONS
  • 每个人都GROUP将根据应用程序提供的功能和内容类型共享通用权限
  • 不同的ROLES可以共享相同的PERMISSIONS

所以看起来我需要一个角色和权限的表。现在我只需要找到PERMISSIONS表格的样子。

schema postgresql database-design

2
推荐指数
1
解决办法
3324
查看次数

标签 统计

database-design ×1

postgresql ×1

schema ×1