草庐IT

ruby-on-rails - Rails 3 ActiveAdmin CanCan。如何设置用户只能看到属于他的记录?

我设置了属于客户类别的admin_users(客户是一家公司)。所以Customer有很多admin_users。我正在尝试限制对属于特定客户的装运记录的访问。我不希望客户看到其他客户的数据。所以我设置了它,但它似乎什么也没做......类(class)能力包括CanCan::Abilitydefinitialize(user)user||=AdminUser.newifuser.role=="administrator"can:manage,:allelsecannot:create,:allcannot:update,:allcannot:destroy,:allcan:read,

ruby-on-rails - 有可能 CanCan can :manage, :all except one or more method?

我在做:can:manage,:allifuser.role=='admin'can:approve,Anunciodo|anuncio|anuncio.try(:aprovado)==falseend我的第二种方法不起作用,因为:manage:all覆盖了它。有一种方法可以声明可以管理除批准之外的所有内容吗?在里面批准我只是做can:approve,Anunciodo|anuncio|user.role=='admin'&&anuncio.try(:aprovado)==falseend什么是更好的解决方案? 最佳答案 尝试换一种

ruby-on-rails - rails : Using CanCan to define multiple roles depending on instances of single Model?

我目前一直在研究如何根据我们想要的每个条件来分离CanCan的角色。在我们的应用程序中,有很多类别(例如数学、英语、历史等),每个类别中都有很多类(class)。每个用户可以在每个类别中扮演许多不同的角色。例如,约翰可以是数学的“读者”,这意味着他可以阅读所有数学类(class)。约翰也可以是英语的“作家”,这意味着他可以阅读所有英语类(class),在类别英语中创建类(class),并仅编辑/删除他创建的英语类(class)。如果这些是John仅有的角色,他将无法在导航栏中看到类别历史记录,并且将被拒绝访问历史记录中的类(class)。这些是关系的建立方式:classUser在mod

ruby-on-rails - 在 RoR 中将参数传递给 CanCan

我有一个带有类似方法的Controller;defshowifparams[:format].eql?("pdf")//dosomethingelsifparams[:format].eql?("csv")//dosomethingendend但是我有不同角色的用户。所以我使用CanCan来管理访问控制。现在我希望X角色可以在Controlleriffparams[:format].eql?("csv")中执行操作show我认为它可以像;can:show,resourceifparams[:format].eql?("csv")。那么如何将参数发送到ability.rb呢?有什么想法吗

ruby-on-rails - Rails CanCan gem 重构能力类

我的Rails应用程序中有大约13个模型,我对所有模型都使用了ability。我的能力等级变得很大。我对不同的CRUD操作有不同的能力条件,这使得它很难管理。有人可以指导我如何重构这个……吗?比如,使用模块或类来使我的能力类看起来整洁。 最佳答案 Simpleescenario:如果您可以将权限拆分为几个互斥的集合,那么您应该查看来自CanCan创建者@ryanb的这个提案,他将权限拆分为几个不同的类别,然后覆盖ApplicationController中的current_ability方法Howyoucanbreakuplarge

ruby-on-rails - CanCan load_and_authorize_resource 触发 Forbidden Attributes

我有一个使用强参数的标准RESTfulController。classUsersController在我的config/initializers中,我有文件strong_parameters.rbActiveRecord::Base.send(:include,ActiveModel::ForbiddenAttributesProtection)当我向CanCan的load_and_authorize_resource添加一个简单的调用时,我得到了1)UsersControllerPOSTcreatewithinvalidparamsre-rendersthe'new'template

ruby-on-rails - Rails 4 用户角色和权限

我正在为一个组织编写Rails应用程序。每个用户可能有1个或多个角色,并且只能访问特定的Controller操作,具体取决于这些角色。例如,只有admins可以创建、销毁和更新User的某些字段。此外,还有Team,每个teamleader,只有teamleader可以更新有关Team(例如成员列表)。但是,管理员是首先指定团队领导者的人。我的场景的具体细节并不重要,我只是希望我描述的是有许多不同角色和权限的情况。我的问题是:使用什么gem?我的第一个想法是CanCan,但最后一次提交是将近一年前的事了,而且没有提到Rails4兼容性。目前是否有维护的替代方案?

ruby-on-rails - 使用 RSpec 测试使用 CanCan 和 Devise 的 View

我正在尝试测试一个简单的索引View,其中包含以下代码:-ifcan?:destroy,MyModel%thOptionsMyModelsController有以下选项(InheritedResources+CanCan+Devise):classMyModelsController:project运行规范时,它在行崩溃-如果可以?:destroy,我的模型Failure/Error:renderActionView::Template::Error:undefinedmethod`authenticate'fornil:NilClass没有回溯,没有任何依据......我想也许我在测

javascript - 具有 Angular JS 客户端的 Rails REST API 权限 (CanCan)。如何根据权限渲染UI?

我正在构建一个只能通过JSONAPI(Rails4.0、PostgreSQL)运行的项目。这是一个具有基于数据库权限的大型应用程序。我有与此RESTAPI配合使用的AngularJS应用程序。简化结构:employees>---position---员工.rbbelongs_to:position位置.rbhas_many:employeeshas_many:permissions,dependent::destroy权限.rbbelongs_to:position##Columns#action(:manage,:read,:update,:create,etc...)#subjec

用于 Ruby on Rails 的 Java 授权库,如 "CanCan"

每个人我想知道是否有人知道任何与CanCan(RubyonRails)类似或提供相同功能的Java库。如果有的话,很想知道您与他们的经历。CanCanisanauthorizationlibraryforRubyonRailswhichrestrictswhatresourcesagivenuserisallowedtoaccess.Allpermissionsaredefinedinasinglelocation(theAbilityclass)andnotduplicatedacrosscontrollers,views,anddatabasequeries.如果它适用于play框