Вопрос

У меня есть небольшая проблема с декларативным авторизацией.У меня есть модель пользователя и подражание с ассоциацией HAS_AND_BELONGS_TO_MANY.

Я создал роль имени: модератор в моем авторизации_rules.rb

Возможно ли, что пользователь с модератором роли только получает пользователей, которые имеют роль модератора, назначенной ему ??-> user.with_permissions_to (: index)

Я думал, что это будет возможно:

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
.

знает ли кто-нибудь, если можно сделать это с объявлением_авторизации?

Спасибо за вашу помощь!

Это было полезно?

Решение

I did something similar in one of my projects but found dec_auth really confusing at the time. I think this is what you need to do:

authorization_rules.rb:

role :moderator do
  has_permission_on :users, :to => :index
end

User Model:

class User < ActiveRecord::Base
  using_access_control
end

Controller:

@users = User.with_permissions_to(:index)

Let me know if that doesn't work.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top