问题标签 [cancancan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
508 浏览

devise - role based route authentication

I have been using devise and cancancan for authentication and authorisation resp., resque for background jobs. I have been following Ryans screencast number 271 and saw below code snippet for routes.rb file.

to authenticated user, but in my case I have only users table and admin is also users separated by role column, Now I would like to authenticate and authorise the route for resque server path based on users role, How can I achieve solution for this problem ?

works fine for logged in user but i want it to be accessible only to admin user. Any help will be heartly appreciated.

0 投票
2 回答
340 浏览

ruby-on-rails - 带有角色的 Rails 4 身份验证模型

我是 Rails 世界的初学者,所以希望我能在这里找到答案。我正在处理的项目必须具有角色的用户授权,适用于简单用户和管理员。使用管理员权限,我希望能够为简单用户重置密码或为他们添加角色。

我试图将设计与康康康宝石一起应用,但不幸的是,无法使其工作,我不确定这是否可能。所以我的问题是你会推荐哪些宝石有这样的行为。还是从头开始更简单?

谢谢您的回答。

0 投票
2 回答
291 浏览

ruby-on-rails - CanCanCan gem 与 Devise + Omniauth Ruby on Rails

我使用 Omniauth + Devise 身份验证系统,用户可以使用他的电子邮件 + 密码或他的 Google+ 帐户进行注册。

现在我需要使用 CanCanCan gem 来检查正在登录的用户是否有权进入登录后区域,但我不知道我可以在哪里执行该条件,Devise 在哪个文件中存储成功登录后的重定向功能?

0 投票
1 回答
75 浏览

ruby-on-rails - Rails 4:无法查看编辑或删除评论

使用can后无法查看评论中的编辑或删除,评论与工作相关。

0 投票
1 回答
991 浏览

ruby-on-rails-4 - ActiveAdmin 设计 Cancancan 和三个用户模型——无限循环

我目前正在运行三个用户模型。员工、客户和供应商。每个人都有一个设计模型,我似乎可以确定如何仅授权员工访问 activeadmin 页面。我设法让一个模型访问它,但其他两个模型进入重定向循环。关于如何让它发挥作用的任何想法都会很棒。

0 投票
0 回答
114 浏览

ruby-on-rails - 未设置 rails 4.2 中 cancancan gem 的角色掩码列

我想设置roles_mask整数列来设置 a 的角色user

这是我的用户模型:

在我user_params的用户控制器中:

这是我的表格:

我的用户模型中有roles_mask专栏。

但是当我创建一个用户并设置所有列时,roles_mask列仍然是null.

0 投票
1 回答
564 浏览

ruby-on-rails - 嵌套资源的cancancan授权

我有一个“有很多”用户和“有很多”仪表的帐户模型。Meter 对象有一个 account_id 列,因此很容易在 Cancancan 中为此定义能力:

然而,一个仪表也“有很多”参数。我想做一个类似的能力定义,仅当参数属于与用户属于同一帐户的仪表时才允许 CRUD 访问。

由于 Parameter 模型只有一个 Meter_id 列(而不是一个 account_id 列),我不确定实现这种额外嵌套级别的最佳方法?

编辑

为不清楚而道歉。

我的模型如下:

所以我可以检查 user.account_id = meter.account_id,但我不确定如何检查参数。

编辑 2

除了马特的回答之外,这只是一个包含以下内容的案例:

在参数模型中。

0 投票
1 回答
193 浏览

ruby-on-rails - 在 rails4 中使用带有 authlogic 的 cancancan 时面临的问题

在我的宝石文件中。我已经在我的能力范围内给出了这个.rb

在我的应用程序控制器中,我有:

现在,如果我使用员工登录,则通过更改密码链接时,它不允许我更改密码,如果我没有登录并通过忘记密码,那么它也不允许我更改密码。我在 password_resets_controller.rb 中给出了这个

并收到此错误

在此处输入图像描述

请指导我如何解决这个问题。提前致谢。

0 投票
0 回答
165 浏览

ruby-on-rails - Github 风格的权限——多租户还是复杂的授权?

我正在使用 Rails 4、Postgres 和 Devise 构建一个多租户应用程序。充当租户用于分区,并设计用于身份验证。我没有选择授权方案,而是倾向于 Pundit。

我有一个允许外部用户的功能请求,这些用户可能是另一个租户的成员。想象公司 A 正在创建一个文档。他们希望与 B 公司的用户进行协作。B 公司的特定用户应该只能访问他们正在协作的 A 公司中的单个特定文档,以及 B 公司的所有东西……。

Github 在此类功能方面做得非常出色,允许将 aribitray 用户添加到具有出色权限的项目中。

所以有几个具体的问题。这是否需要放弃多租户方案,并采用有点复杂的授权方案。我说放弃是因为 act_as_tenant 提供了一些不可变的数据分区……</p>

如果是这样,Pundit 会是推荐的方法(可能是 CAnCanCan),还是我应该看看其他地方?

0 投票
2 回答
219 浏览

ruby-on-rails - 未定义的方法“total_pages”- 使用 load_and_authorize_resource 时

我正在使用 cancancan 进行授权。并且正在使用 will_paginate 进行表分页。它工作正常,直到我在控制器中添加 load_and_authorize_resource 。在控制器中使用 load_and_authorize_resource 时,will_paginate 会抛出ActionView::Template::Error (undefined methodtotal_pages' for #)`: Abilyty.rb:

控制器:

看法: