问题标签 [cancan]

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 回答
886 浏览

ruby-on-rails - 使用 mongoid 的作用域角色

使用 Mongoid,如果我有一个 Account 模型并且想要将具有特定角色的用户分配给该帐户,最好将关系嵌入到 Account、User 或创建一个角色集合映射帐户到具有角色名称的用户?

我希望能够返回一个帐户的所有用户,并验证当前用户是否可以使用 Cancan 之类的东西访问该帐户。

构建帐户 <-> 基于用户角色的关系的推荐方法是什么?一个用户可能属于多个可能具有不同角色的帐户,类似于 Basecamp 的工作方式。

0 投票
1 回答
1468 浏览

ruby-on-rails - 当嵌套模型的名称与控制器名称不同时,如何使用 cancan 加载嵌套资源?

鉴于我有一个嵌套在 Farm 模型下的 Worker 模型,我如何在 Workers 控制器(称为 FarmWorkersController)中正确加载 Worker 资源?我试过这个...

...但我得到了错误

请注意,如果我在返回工人集合的 Farm 模型中定义了一个 farm_workers() getter,那么我不会收到错误消息——尽管没有为索引操作加载 Workers 集合。无论如何,我不想污染我的模型以使控制器身份验证工作。

(没关系,但我使用的是 mongoid)

0 投票
3 回答
3271 浏览

ruby-on-rails - 使用 CanCan 进行管理员授权

A 有一堆带有 Admin 命名空间的控制器。我想限制对这些的访问,除非用户是管理员。有没有办法使用 CanCan 来做到这一点而不必调用未经授权的!在每个控制器的每个方法中?

0 投票
1 回答
1056 浏览

ruby-on-rails - CanCan 自定义操作不适用于块

我正在将 Ability 类中的一些自定义 CanCan 操作更改为使用块而不是仅使用哈希,但现在它们实际上已停止限制访问。奇怪的是,像 :manage 和 :create 等内置操作似乎仍然可以很好地处理这些块。

这是一个例子:

老的

新的

以前有人遇到过这个问题吗?

0 投票
5 回答
18292 浏览

ruby-on-rails - 如何使用 Devise 根据用户的角色重定向用户的主(根)路径?

我正在开发一个项目管理应用程序,在该应用程序中,我有project_managersclients。我正在使用 Devise 和 CanCan 进行身份验证/授权。

登录后什么时候应该将用户重定向到他们自己的特定控制器/布局/视图?有没有办法根据他们是项目经理还是客户来检查current_user.role并设置根(或重定向)?routes.rb这是我可以在 Devise 的某个地方做出的改变吗?

提前感谢您的帮助! - 标记

0 投票
1 回答
1194 浏览

ruby-on-rails - devise / cancan的不同注册过程但只有一个用户模型?

到目前为止,我一直在尝试使用设计来允许对同一用户模型进行 2 种不同的注册路径,但没有成功。

我的用户模型链接到其他数据模型,但我在注册时并不关心。但我仍然想向用户“展示”差异(url 路径、外观和感觉等),当然我想在用户模型中保存我的用户的用户类型,以便我可以稍后返回指出并询问我需要填写我的其他模型(链接到用户)的内容。

我已经探索了重写我自己的注册控制器的道路,但我看不出这对路线有什么帮助......我想要类似的东西:/usertype1/signup 和 /usertype2/signup 实际上更多超过 2 个用户类型,但最终它应该只创建最简单的用户模式(电子邮件、密码、确认、用户类型)。

在这一点上欢迎任何建议:)

亚历克斯

0 投票
1 回答
531 浏览

ruby-on-rails - Rails - CanCan - 如果可以?适用于页面加载,但不能通过 AJAX Partial

您好,我有以下部分内容。

对于完全相同的用户,当它通过 html 加载时,效果很好。但是当我通过 ajax 渲染该部分时,如下所示:

那么cancan就是return false,这是为什么呢?current_user 是发出请求的同一个人吗?

谢谢

0 投票
1 回答
3473 浏览

ruby-on-rails - Rails 3 - CanCan 错误?NameError(未初始化的常量Ability::Invitation):

错误:

在 CanCan 我有:

在邀请控制器中:

before_filter :current_ability #CanCan load_and_authorize_resource #CanCan

def current_ability @current_ability ||= Ability.new(current_user, nil) end

应用程序的控制器:

路线:

有什么想法为什么 CanCan 不开心?谢谢

0 投票
1 回答
1896 浏览

ruby-on-rails - 如何在 Rails3 中使用 CanCan 在活动页面上显示 AccessDenied 错误

我正在尝试找到一种方法来在没有该redirect_to方法的情况下在活动页面上显示我的 flash 错误。

顺便说一句,标准flash[:alert] = exception.message没有向我显示任何错误消息,所以我将其更改为flash[:error].

感谢您的任何建议!

0 投票
2 回答
333 浏览

ruby-on-rails - 使用 Rails 进行 Cancan 身份验证

我有一个复杂的身份验证场景,我想出了这个模型结构。

见模型结构

任何人都可以指导如何使用 cancan 以这种结构嵌入身份验证。