我正在使用 CanCan 为 RBAC 开发 Rails 应用程序,我只有 3 个角色,也许我会在某个地方再添加 1 或 2 个角色。
过去,我一直将角色作为自己的实体,通过 m2m 链接表加入用户。有这么少的静态角色,这似乎有点矫枉过正。所以我想简单地为每个角色添加布尔列到我的用户表中。我也可以使用位掩码(就像 CanCan 示例一样),但我不太热衷于在单个列中存储多个值。
所以我的问题是,在这种情况下最好的做法是什么:位掩码、多个布尔列或正确规范化的 m2m 关系?
我正在使用 CanCan 为 RBAC 开发 Rails 应用程序,我只有 3 个角色,也许我会在某个地方再添加 1 或 2 个角色。
过去,我一直将角色作为自己的实体,通过 m2m 链接表加入用户。有这么少的静态角色,这似乎有点矫枉过正。所以我想简单地为每个角色添加布尔列到我的用户表中。我也可以使用位掩码(就像 CanCan 示例一样),但我不太热衷于在单个列中存储多个值。
所以我的问题是,在这种情况下最好的做法是什么:位掩码、多个布尔列或正确规范化的 m2m 关系?