问题标签 [declarative-authorization]

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 投票
2 回答
210 浏览

ruby-on-rails - Rails 订阅限制

我有一个对订阅属性设置限制的应用程序 i/ea 用户可以有五个项目用于订阅 A,但有十个用于订阅 B

目前,我在链接到创建操作时检查当前使用情况,如果它们超出限制,我不会显示创建新项目的链接。在视图(对于新项目)上,我再次运行检查(在帮助程序中)以查看他们是否可以创建新项目,如果不能,我会显示一条消息说明如此和一点升级链接。

这是阻止用户绕过订阅属性限制的安全方法吗?

直接 PUT 请求等呢?

0 投票
1 回答
1065 浏览

ruby-on-rails - declarative_authorization 和命名空间

你知道吗 - declarative_authorization 是否可以控制对命名空间资源的访问?我试过类似的东西

但它不起作用:(对此有什么想法吗?

0 投票
2 回答
728 浏览

mongodb - 声明式授权和 mongoid

我想用 mongoid 实现声明式授权。但不能成功。似乎声明式授权仅适用于 ActiveRecord。我可以让它与 Mongoid 和 MongoDB 一起工作吗?有任何想法吗。

0 投票
4 回答
1185 浏览

ruby-on-rails - 如何在不始终将用户 ID 作为参数保留在 URL 中的情况下使用声明式授权?

声明式授权似乎需要 params[:id] 进行验证,我想使用 /profile 和 /dashboard 等用户存储在会话中的路径,而不是 URL。但它打破了。关于如何在不破解 gem 本身的情况下做到这一点的任何想法?

0 投票
1 回答
269 浏览

ruby-on-rails - 如何检查 declarative_authorization 文件中的 belongs_to 模型属性?

我想要检查一个 belongs_to 模型以获得许可。如果用户是项目的所有者,则只能创建博客

型号代码

现在是相关的授权部分

if_attribute 是问题,我如何检查相关模型?(上面的 if_attribute 代码行不起作用,因为 blog belongs_to 项目和 user_id 在 project_model 中)

提前致谢 :)

0 投票
0 回答
423 浏览

ruby-on-rails-3 - declarative_authorization:控制对没有显式模型的嵌套资源的访问

我有一个模型,允许用户将其他用户标记为收藏夹。这种 HABTM 关系在 User 模型中定义:

收藏夹控制器只需要三个操作(索引、创建、销毁)来管理用户的收藏夹。

规则:仅允许经过身份验证的用户 (current_user) 管理他们的收藏夹。

最初,我尝试在 authorization_rule.rb 文件中表示此规则:

这不起作用,可能是因为收藏夹没有明确的模型(即 favorite.rb)。虽然我可能是错的。

似乎正确的方法是在收藏夹控制器中表示规则:

但我不确定如何在这里正确地表示规则。

非常感谢您的帮助。

** 编辑 **

有人建议我在这种情况下使用上下文来控制访问: 为无模型控制器设置权限

我尝试修改收藏夹控制器:

这种改变没有效果。

** /编辑 **

0 投票
1 回答
913 浏览

ruby-on-rails - rails - declarative_authorization allowed_to 无法正常工作

我正在尝试使用 allowed_to 来隐藏/显示链接,但在我的一种形式中它没有出现。

表格属于作业,但实际的编辑功能是针对候选人的。

我可以通过 url 导航到页面,所以我知道这不是授权问题。

有任何想法吗 ?

谢谢,亚历克斯

0 投票
2 回答
678 浏览

ruby-on-rails - 使用 declarative_authorization 和 authlogic 确定 current_user

我使用 authlogic 对用户进行身份验证。在我的控制器中,我使用 current_user,定义(如记录)如下:

我还使用 declarative_authorization 来管理当前用户的权限。在正常的运行时场景中一切正常,但是当我创建使用诸如“get_with”之类的请求语句的功能测试时,控制器中的 current_user 为 nil。我查看了 declarative_authorization 测试助手代码,发现在这种情况下,declarative_authorization gem 实际上将当前用户存储在 Authorization.current_user 中(它又来自 Thread.current["current_user"])。因此,当前用户在不同场景中的处理方式似乎相当混乱。

我的问题:在正常运行时和测试场景中找到 current_user 的适当方法是什么?

0 投票
1 回答
2437 浏览

ruby-on-rails-3 - 声明性授权 filter_access_to

我正在尝试使用 declarative_authorization 保护 Rails3 控制器。

该控制器具有 7 个 RESTful 操作、三个自定义成员操作(激活、停用、复制)和一个自定义收集操作(公共)。但是,“public”操作仅返回一条记录。

只有自定义收集操作(公共)对经过身份验证的用户可用;其余的仅对 current_user 可用。

在 routes.rb 文件中定义了 4 个自定义操作:

一个用户:has_many Foos; 一个 Foo :belongs_to 一个用户。

FoosController 中定义的“标准”访问控制 (filter_resource_access :nested_in => :user) 似乎控制对 7 个 RESTful 操作的访问,但无法控制对其他 4 个操作的访问(如预期的那样)。

当我将 FooController 更改为:

我收到一条错误消息,内容为“找不到没有 ID 的 Foo”。

问题:

  1. 文档似乎建议在使用 filter_access_to 时会自动调用 :before_filter 来加载 Foo 模型。我弄错了吗?我需要对 filter_access_to 进行额外配置吗?我是否需要手动配置:before_filter?
  2. 为了我的目的,我是否还需要将 using_access_control 添加到模型中?当控制器中有访问控制时,我有点不清楚何时需要向模型添加访问控制。
  3. 文档描述了一个名为“create”的权限——它被定义为:privilege :create, :includes => :new。此外,对于 :new 操作,此权限是否会自动包含 :create 操作作为其名称的结果?
  4. 如果更改了 authentication_rules.rb 文件,是否需要重新启动服务器才能应用新规则?
0 投票
3 回答
1870 浏览

ruby-on-rails - Rails 中使用数据库的动态角色授权。声明式授权的最佳选择?

我需要提供动态角色分配(角色/权限)。更清楚地说,最终用户应该能够创建角色,将权限分配给新用户。所以我正在考虑将角色和权限存储在每个用户的表中。

有没有一种聪明的方法可以做到这一点(任何其他插件?),或者我应该编写代码来使用声明性授权来做到这一点。一些光线会有所帮助。谢谢!