这半年多一直在做rails相关的东西,后台也一直用的[url="https://github.com/gregbell/active_admin"]active_admin[/url],感觉还是很方便的,而且可定制性比rails_admin高,不过最近需要让active_admin和cancan好好地一起工作,找了些资料 ,终于实现了,发现还是比较简单的,我已经加到active_admin的wiki了
以网站权限设置编辑人员只能管理新闻,而且只能加和看,不能删
1.app/models/ability.rb
2.app/helpers/application_controller.rb
3.app/admin/admin_user.rb
如果要对其它model设置权限 ,和admin_user.rb一样设置就可以了
转载注明:
[url="http://www.iteye.com"]iteye[/url]---[url="http://doabit.iteye.com"]doabit[/url]
以网站权限设置编辑人员只能管理新闻,而且只能加和看,不能删
1.app/models/ability.rb
class Ability
include CanCan::Ability
def initialize(user)
user ||= AdminUser.new
case user.role
when "admin"
can :manage, :all
when "editor"
can :manage,Post
cannot [:destroy,:edit], Post
end
end
end
2.app/helpers/application_controller.rb
def current_ability
@current_ability ||= Ability.new(current_admin_user)
end
3.app/admin/admin_user.rb
# encoding: UTF-8
ActiveAdmin.register AdminUser do
menu :if => proc{can? :manage,AdminUser}
controller.authorize_resource
end
如果要对其它model设置权限 ,和admin_user.rb一样设置就可以了
转载注明:
[url="http://www.iteye.com"]iteye[/url]---[url="http://doabit.iteye.com"]doabit[/url]
本文介绍了一个具体的Rails项目中如何使用ActiveAdmin与CanCan实现细致的权限管理,包括为不同角色设置不同的操作权限。
3009

被折叠的 条评论
为什么被折叠?



