【发布时间】:2015-03-04 20:51:31
【问题描述】:
我对角色和权限架构有疑问。我知道有现有的基于架构来管理和定义它。
但我想了解以下方法是否存在潜在问题或不良做法。
这是我设想的角色表的样子:
Role:
id(pk)
name(varchar)
description(varchar)
这是我的权限表:
Permissions
id(pk)
role_ids(array of role ids)
Name
Description
每个权限可以属于多个角色。
为了识别上述内容,我在 role_ids 字段中存储了一个 role_ids 数组。
上述做法是否被认为是不好的?
添加新角色或将权限分配给不同角色时是否会导致问题。 从上述数组中插入和删除会不会在编程上效率低下?
我查找了现有的方法,但其中一些方法对于我的简单用例来说似乎太复杂了。
【问题讨论】:
-
当您想编写诸如“加载给定角色的所有权限”之类的查询时,它至少会降低效率。
has_and_belongs_to_many是正确的方式。
标签: sql ruby-on-rails ruby oracle ruby-on-rails-4