3

我有基本的间隙设置 -

rails generate clearance:install

rails generate clearance:views

在我的 admin_controller 中,我有

before_filter :authorize

这可以确保用户已登录。我将如何为我的用户设置“管理员”权限并确保用户在允许他们进入管理控制器之前拥有该权限?

有没有更好的解决方案?

谢谢!

安德鲁

4

2 回答 2

6

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

其实源代码authorize很简单,所以我的方法在这里:

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

不要忘记重新启动服务器:)

于 2014-05-14T06:41:49.280 回答
2

与CanCan混合

https://github.com/ryanb/cancan

http://railscasts.com/episodes/192-authorization-with-cancan

于 2011-05-22T01:53:50.360 回答