【问题标题】:Declarative Authorization - how to set acces for all actions in controller?声明式授权 - 如何为控制器中的所有操作设置访问权限?
【发布时间】:2012-04-14 23:01:51
【问题描述】:

我使用 Declarative Authorization gem 并且在我的 authorization_rules.rb 我有以下规则:

  role :admin do
    has_permission_on :users, :to => [manually set up all actions in this controller]
  end

是否存在更优雅的方式来设置相应控制器中所有操作的访问权限?这些方法我都试过了

  role :admin do
    has_permission_on :users, :to => :all
  end

  role :admin do
    has_permission_on :users
  end

但没有什么对我有用。有没有比盲目地键入每个动作更好的方法来设置控制器中的所有动作?

【问题讨论】:

    标签: ruby ruby-on-rails-3 authorization declarative-authorization


    【解决方案1】:

    动作是控制器类的公共方法。下面的代码未经测试,但应该可以帮助您入门。

    c = MyController
    actions = []
    c.public_methods(false).each { |m| actions << m.to_sym }
    
    role :admin do
      has_permission_on :users, :to => actions
    end
    

    【讨论】:

      【解决方案2】:

      这就是我的工作:

      has_permission_on :controller, :to => [:all]
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多