如何向Clearance gem添加权限/角色?

时间:2011-05-21 19:53:38

标签: ruby-on-rails authentication gem clearance

我有基本的间隙设置 -

rails generate clearance:install

rails generate clearance:views

在我的admin_controller中,我有

before_filter :authorize

这可确保用户已登录。如何为用户设置“admin”权限,并确保用户在允许用户进入管理控制器之前具有权限?

对此有更好的解决方案吗?

谢谢!

安德鲁

2 个答案:

答案 0 :(得分:6)

我有同样的问题,但cancan对我来说似乎太过分了(小项目)

实际上authorize的{​​{3}}非常简单,所以我的方法就在这里:

在初始化程序中打开Clearance::Authorization模块,然后在其中添加自定义方法:

# config/initializers/clearance_authorization.rb

module Clearance
  module Authorization
    extend ActiveSupport::Concern

    def authorize_admin
      unless(signed_in? && current_user.admin?)
        deny_access
      end
    end
  end
end

不要忘记重启服务器:)

答案 1 :(得分:2)