Spree自定义角色权限

2024-03-05

我正在尝试在狂欢特定权限内授予一些自定义角色。 在任何地方都找不到这个答案

角色能力.rb

class RoleAbility
 include CanCan::Ability

 def initialize(user)

 user || User.new # for guest

 if user.has_role? "admin"
   can :manage, :all
 elsif user.has_role? "retailer"
   can :manage, Product
 else
   can :read, :all
 end


 end
end

我认为这可能是一个流行的想法,让具有“经理”角色的用户仅管理产品和其他某些模型......

如果我改变

 elsif user.has_role? "retailer"
can :manage, Product

to

 elsif user.has_role? "retailer"
can :manage, :all

它按预期工作...我可以访问所有管理区域

我只希望“零售商”能够:管理产品! ;)

“admin”只是与用户关联的角色,即所有角色都是用户。

您可能可以看到这是怎么回事,零售商可以注册并销售自己的商品……这就是目标。

有什么指点吗??


解决此问题的一个快速解决方案是将authorize_admin 方法添加到 Admin::ProductsController Decorator.rb

应用程序/控制器/admin_products_controller_decorator.rb

Admin::ProductsController.class_eval do
    def authorize_admin
        authorize! :admin, Product
        authorize! params[:action].to_sym, Product
    end
end

NOTE:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spree自定义角色权限 的相关文章

  • 如何授权一组控制器而不在每个控制器上添加注释?

    我有一组控制器 每个控制器用于每种授权类型 例如 A 类授权将具有一组控制器 每个控制器都需要 A 类授权 有没有办法放置一个 Authorize Role Class A 某处的属性将适用于每个控制器 而不必用相同的属性装饰每个控制器 您
  • 不同用户角色的不同视图集

    我正在开发一个 Rails 应用程序 我有2 不同用户的角色 高级和基础 我想管理而不是隐藏基本用户视图中的链接 即使用 CanCan 2组不同的视图 一份供高级用户使用 一份供基础用户使用 目前我正在以这种方式工作 case curren
  • 疯狂邮件方法不起作用?

    在配置菜单下的 spree 管理面板中 我配置了邮件 smtp 端口等 创建新邮件方法后 我按下测试邮件按钮 我收到以下警报消息 测试邮件发送成功 甚至终端窗口也显示电子邮件发送成功消息 但是邮件未送达相应地址 发送测试邮件后控制台日志 S
  • 疯狂中的 CheckoutController#edit 在哪里?

    我需要玩editCheckoutController 的操作 我在服务器日志中看到它 我在文档 http edgeguides spreecommerce com checkout html但我在 gem 的代码中找不到它 魔力在哪里 狂欢
  • Rails 4 - spree-2.1 中涉及的强参数概念

    如何在 Spree 2 1 Rails4 中为 spree user 添加新字段 就像我以前的定制一样 Spree User class eval 做 attr accessible f name l name gender validat
  • 未定义方法“has_one_attached” - Spree、AWS S3、产品图像、Rails

    我尝试将 Spree 购物车与 AWS S3 连接以上传产品图片 但不断收到错误消息 rbenv versions 2 4 0 lib ruby gems 2 4 0 gems activerecord 5 2 0 lib active r
  • 如何从主应用程序访问 Rails Engines 方法?

    我正在尝试使用 Spree Core 引擎中定义的 current order 方法 https github com spree spree blob master core lib spree core current order rb
  • Rails4:康康舞还是康康康舞?使用 has_secure_password

    我正在尝试实现某种类型的用户 以便用户可以编辑数据 而其他用户只能读取 user rb class User lt ActiveRecord Base has secure password validates presence of em
  • 将名称添加到 Spree Devise 注册中

    我正在尝试添加姓名和出生日期来设计 Spree 注册 我已经安装了宝石 gem spree auth devise github spree spree auth devise branch 3 0 stable 创建了迁移 class A
  • 覆盖 Spree Commerce 的 Bootstrap 变量

    我在部署自定义项目时遇到问题 variables scss作为编译资产添加到我的生产服务器 在我的开发环境中一切都很好 在生产中我的变量被覆盖 我正在使用 Rails 4 2 1 和 Spree 3 0 稳定分支 我有以下结构 文件创建于v
  • Spree自定义角色权限

    我正在尝试在狂欢特定权限内授予一些自定义角色 在任何地方都找不到这个答案 角色能力 rb class RoleAbility include CanCan Ability def initialize user user User new
  • 如何在 Spree 2.x / Rails 4 中覆盖 Product_url 以使 SEO 更友好?

    我希望我的产品网址如下所示 product name here p 代替 product product name here 我怎样才能实现这个目标 经过大量研究后我明白了 此过程有两个步骤 首先是创建与新产品路线相匹配的路线 因此 进入你
  • Devise、Rolify 和 Cancan 到 ActiveAdmin

    我正在使用 Devise Rolify 和 CanCan 开发一个应用程序 我可以将其完全转变为由 ActiveAdmin 管理吗 有相关文件吗 我知道问题被提出已经有一段时间了 但是当我在谷歌搜索时发现它时 我想我可以发布一个答案来帮助其
  • 在 Spree (RoR) 中保存产品时,价格会乘以 100

    我在 Rails 3 1 3 和 Ruby 1 9 3 之上安装了在线购物框架 Spree 我还使用 Spree i18n gem 来本地化商店 现在 每当我保存产品时 价格都会乘以 100 例如 在管理区域中 我输入价格 3 20 结果是
  • MVC 3 授权自定义角色

    我是 MVC 3 新用户 我正在尝试通过 SQL 数据库进行管理 首先 我有客户实体 可以通过管理字段定义管理 该字段是客户实体中的布尔类型 我只想在产品页面中访问管理员 而不是在普通客户中 我想制作 Authorize Roles adm
  • ASP.NET Core 中的自定义授权属性

    我正在研究 asp net core 但我不明白一些事情 例如 在 mvc net 5 中 我们可以使用 AuthorizeAttribute 创建类来过滤和授权操作 并将属性设置为操作 如下所示 public class AdminAut
  • 当用户应该有权访问他拥有的交易时,Rspec 测试失败,用户被重定向

    在我的应用程序中 借助 Cancan 我允许客户访问他自己的优惠 当我用浏览器 手动 尝试时它有效但我未能实施 rspec 测试 客户无法访问其他客户的交易 只能访问他自己的交易 管理员通过 Active Admin 界面授予他访问权限 就
  • ActiveModel::ForbiddenAttributesError + cancan + Rails 4 + 具有作用域控制器的模型

    我正在使用 cancan 1 6 10 和 Rails 4 0 0 我有一个名为 App 未限定范围 的模型和一个控制器 Admin AppsController 其限定范围 即 app controllers admin apps con
  • 如何扩展/架构 ASP.NET MVC 3 授权属性来处理这种情况

    我一直在努力思考这个答案 但找不到如何正确执行此操作的好解决方案 我读过这些文章 http schotime net blog index php 2009 02 17 custom authorization with aspnet mv
  • 为什么这个 rspec 请求规范不更新模型?

    我有一个与用户模型交互的请求规范 我想确保具有管理员角色的用户可以创建 编辑 销毁用户 我现在遇到一个问题 编辑操作无法更新用户 当我手动执行网站本身的操作时 一切正常 但测试无法更新用户 这是我的规格 it edits a user do

随机推荐