我正在使用惨惨一个Rails应用程序的RBAC,我只有3个角色和的也许的我会加1或2个以上的地方走下赛场。

在过去,我一直有角色作为自己的实体,通过M2M链接表连接到用户。有这么几个,和静,角色,这似乎有点小题大做。所以我想简单地将布尔列到我的用户表中的每个角色。我还可以使用一个位掩码(如惭惭例一样),但我不太热衷于在单个列中存储的多个值。

所以我的问题是,什么是在这种情况下,做的最好的事情:位掩码,多个布尔列,或适当的标准化M2M关系

有帮助吗?

解决方案

操作上YAGNI的原则,将推动我决定使用单独位列为每个角色。即使随着时间的推移添加两个更多的列,它仍然容易比M2M链接表来管理。我完全同意,因为他们掩盖了数据的含义不使用位掩码同意。

我只从SQL侧,因为我有使用Rails,康康舞或RBAC没有经验,解决该问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top