我试图在Spree中指定一些自定义角色,例如角色“客户端”并扩展权限以访问此角色的管理员部分。Spree定制/扩展用户角色和权限
此用户将只能访问由该用户创建的产品。概念让具有角色“客户”的用户只管理产品和其他某些模型。
首先我role_ability.rb
添加惨惨插件,并定义了RoleAbility类就以下这篇文章:Spree Custom Roles Permissions
class RoleAbility
include CanCan::Ability
def initialize(user)
user ||= User.new
if user.has_role? 'admin'
can :manage, :all
elsif user.has_role? 'client_admin'
can :read, Product
can :admin, Product
end
end
end
添加到了一个初始化:配置/初始化/ spree.rb
Ability.register_ability(RetailerAbility)
也延长admin_products_controller_decorator.rb:应用程序/ controllersadmin_products_controller_decorator.rb
Admin::ProductsController.class_eval do
def authorize_admin
authorize! :admin, Product
authorize! params[:action].to_sym, Product
end
end
但我得到提示信息“授权失败”
试图找到一些运气,我提到以下链接
一个GitHub的要点进行定制盛宴角色:https://gist.github.com/1277326
这里有一个类似的问题我面临:http://groups.google.com/group/spree-user/browse_thread/thread/1e819e10410d03c5/23b269e09c7ed47e
所有努力徒劳...
任何指针高度赞赏?
在此先感谢。
使用spree 1.1.1,spree_multi_domain – swapab