问题标签 [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.
ruby-on-rails - 这个用户权限设置有意义吗?
我正在构建一个 Rails 3 应用程序,并且正在设计一个复杂的用户权限工具,用户可以在其中Company
确定每个PM
.
想象一下这个场景——公司想要在三种类型的数据上建立特定的角色。
- 项目表
- 客户表
- 公司帐户(即公司表)
我正在考虑添加一个包含这些字段的角色多态表:
- user_id(此角色适用的用户,除非 all_users == true)
- 项目类型(例如“项目”、“客户”或“公司”,除非 all_items == true)
- 商品编号(如上)
- 角色(例如“读取”、“编辑”、“销毁”,甚至“自定义”)
- all_users(布尔值:此项的角色是否适用于所有用户)
- all_items(布尔值:此用户的角色是否适用于所有项目)
- company_id(“拥有”此角色的公司)
我觉得 CanCan 将是实现此目标的一种不错的精益方式,但这是我的问题。1. 上表是一个很好的方法吗?2. CanCan 能否与此相结合以创建有效的解决方案?
ruby-on-rails - Rails 3:向用户添加角色
我使用 cancan 作为我的授权引擎。
我已经在用户中拥有角色:
我也有添加和检查角色的方法:
我# roles_mask :integer
在用户模型中。
但是,我想要一个after_save :add_normal_role
将正常角色分配给用户的。
基本上,我无法(不知道)如何为每个用户分配角色。
这就是我所拥有的,它不起作用:
谢谢
ruby-on-rails - 简单的CanCan问题
我刚开始使用 CanCan,下面是代码示例:
这是来自 CanCan 的 github 存储库,但这似乎不起作用(它返回 false 并停止...
代码运行)。
当我将视图更改为 时<% if can? :read, Link %>
,它可以工作。但是,这与 CanCan 自述文件不同。你知道我哪里错了吗?
cookies - 使用子域 cookie 进行身份验证可以轻松访问其他子域
我正在使用 Rails 3,devise,cancan。我已将 cookie 设置为特定于子域,并将子域与用户名一起用作身份验证密钥。
IE
因此,当我在特定子域中对用户进行身份验证时,该用户无权访问任何其他子域。如果我只是编辑他的 cookie 会话(firebug)并更改 cookie 的域(即从 foo.mydomain.com 更改为 fee.mydomain.com),则用户可以获得对新子域的访问权限。
我意识到我可以使用 cancan 阻止访问,但理想情况下我想通过身份验证来限制用户。它以某种方式感觉更安全,并且需要更少的配置(在ability.rb 中少了几行)。
知道如何防止这种死的简单黑客攻击吗?
ruby-on-rails - 在 Rails 中为企业\单用户帐户设置身份验证\授权系统的最佳方法是什么?
我正在建立一个网站,其中有多种类型的用户。例如考虑亚马逊或 CDW。他们有个人账户,普通人可以只买一本书或一台电脑,他们也有公司账户,有多个可以进行购买的子用户和一个可以跟踪整个账户支出的主管/超级用户,但也关闭子用户的帐户或为其帐户添加新的子用户。
我显然可以在这里推出我自己的系统,但我会更好地从设计、authlogic 或 restful_authentication 之类的东西与 CanCan 或类似的授权系统开始吗?还是已经有类似的东西了?有没有人有过设置这样的东西的经验?有什么注意事项?
谢谢
ruby-on-rails - RSpec 新手:设计/Cancan 导致其他工作控制器规范失败
我正在尝试让 RSpec 控制器规范通过。它几乎与脚手架生成的规范相同,只是用户首先登录设计。如果我从控制器(检查权限)禁用“load_and_authorize_resource”,一切正常。但是如果我把线放回去,它会失败:
我曾假设规范没有正确登录用户,但 puts current_user.role.name 确认用户已正确登录,并具有必要的角色。在浏览器中执行实际过程确认它按预期工作。
有人有什么建议吗?我很困惑。下面的控制器:
...和规格
...并支持规范中的内容:
非常感谢...
ruby-on-rails - Rails3 - CanCan - 未初始化的常量 Ability::Page
我刚刚将 cancan 1.5.0 添加到我的 rails 3 应用程序中,这是我的能力文件 -
我有一个自定义类(非休息功能)
如您所见,我正在为一个不平静的课程使用正确的功能,但我仍然收到此错误 -
这是堆栈跟踪的开头 -
谢谢,亚历克斯
ruby-on-rails - Rails 3:处理隐私功能
我的应用程序的一部分负责将所有用户操作写入提要。但是,我想允许用户控制他的隐私功能(停止发送到提要,只发送一些操作等)。
最好的方法是什么?我应该使用 Cancan 或类似的东西,并为不同的隐私选项赋予角色吗?
谢谢
ruby-on-rails-3 - CanCan 错误“未定义的方法角色?” 与设计
嘿,我希望你能帮助我:
我正在阅读本教程
我不太确定在哪里放置角色?教程中的方法,因为它没有说明放置它的位置。
现在当我想注册或登录时它给了我这个错误
非常感谢
ruby-on-rails-3 - CanCan多态资源访问问题
我不太明白如何在 CanCan 的这种特殊情况下限制对链接的访问。我总是显示“编辑”链接。所以我认为问题在于我对cancan方法(load_和authorize_)的错误定义。我有这样的 CommentsController:
我在 comments/index.html.erb 中有以下代码从其他控制器呈现文件:
在这种情况下,您可以将“#{get_commentable_partial_name(@commentable)}”视为“文章”。“articles/show.html.erb”的内容:
我的能力.rb:
我试过像这样调试这个问题
我总是在能力检查中得到“=> true”
注意:user.role == author and article.user_id != user.id
如果您需要更多信息,请写
谢谢你的时间&&对不起我的英语