我对声明授权有点问题。我有一个带有has_and_belongs_to_many关联的用户和角色模型。
我在authorization_rules.rb
中创建了一个名为:moderator的角色具有角色管理员的用户是否可能只获得分配了主持人角色的用户? - > User.with_permissions_to(:指数)
我认为有可能这样:
role :moderator do
has_permission_on :users, :to => :index do
if_attribute :roles => contains { ????? }
end
end
我还在我的用户模型中创建了一个named_scope,因为我觉得它会有所帮助......
class User
has_and_belongs_to_many :roles
named_scope :by_role, lambda { |role|
{
:include => :roles,
:conditions => {"roles.name" => role}
}
}
end
有没有人知道是否可以使用declarative_authorization执行此操作?
感谢您的帮助!
答案 0 :(得分:0)
我在我的一个项目中做了类似的事情,但发现dec_auth当时真的很混乱。我认为这就是你需要做的事情:
authorization_rules.rb:
role :moderator do
has_permission_on :users, :to => :index
end
用户模型:
class User < ActiveRecord::Base
using_access_control
end
控制器:
@users = User.with_permissions_to(:index)
如果这不起作用,请告诉我。