我有基本的间隙设置 -
rails generate clearance:install
和
rails generate clearance:views
在我的 admin_controller 中,我有
before_filter :authorize
这可以确保用户已登录。我将如何为我的用户设置“管理员”权限并确保用户在允许他们进入管理控制器之前拥有该权限?
有没有更好的解决方案?
谢谢!
安德鲁
我有基本的间隙设置 -
rails generate clearance:install
和
rails generate clearance:views
在我的 admin_controller 中,我有
before_filter :authorize
这可以确保用户已登录。我将如何为我的用户设置“管理员”权限并确保用户在允许他们进入管理控制器之前拥有该权限?
有没有更好的解决方案?
谢谢!
安德鲁
我有同样的问题,但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
不要忘记重新启动服务器:)
与CanCan混合
https://github.com/ryanb/cancan
http://railscasts.com/episodes/192-authorization-with-cancan