我正在尝试为 CRUD 某些模型设置不同的访问控制级别(我的应用程序中的 3 个级别)。应用程序中没有用户模型,因为我使用 RPAM 进行身份验证,使用会话来跟踪用户。为了设置授权级别,我创建了一个名为 user_role 的模型,将角色分配给用户名。在 DB 中,它看起来像这样:
id | username | role
----+----------+---------
1 | user1 | limited
2 | admin | admin
3 | user2 | normal
我有一个这样定义的模型:
class Treatment < ActiveRecord::Base
has_many :user_roles
attr_accessible :cust_id, :admission_time, :as=>:admin
attr_accessible :customer_type, :as=>:limited
end
我怎样才能建立角色的层次结构:对于所有限制可以做的事情,管理员也可以做,但不能相反。