问题标签 [acl9]

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

ruby-on-rails - Acl9关联表created_at列问题

我试图弄清楚为什么角色_用户表的 created_at 列在为用户分配角色时似乎占用了用户一个。它不应该有自己的创建日期吗?有什么帮助吗?

ruby-1.8.7-p174 > Time.now
=> 2 月 24 日星期四 15:50:11 +0100 2011
ruby​​-1.8.7-p174 > User.last.has_role!"installer"
用户负载 (0.5ms) SELECT * FROM "users" ORDER BY users.id DESC LIMIT 1
Country Load (0.2ms) SELECT * FROM "countries" WHERE ("countries"."id" = 106)
角色负载 ( 0.2ms) SELECT * FROM "roles" WHERE (name = 'installer' and authorizable_type IS NULL and authorizable_id IS NULL) LIMIT 1
Role Load (0.1ms) SELECT "roles".id FROM "roles" INNER JOIN "roles_users" ON "角色".id = "roles_users".role_id WHERE ("roles"."id" = 2) AND ("roles_users".user_id = 31 ) LIMIT 1
SQL (0.', ' 2010-09-16 14:11:24 ', 2, 31)
角色加载 (0.5ms) SELECT * FROM "roles" INNER JOIN "roles_users" ON "roles".id = "roles_users".role_id WHERE ( "roles_users".user_id = 31 )
=> [#Role id: 2, name: "installer", authorizable_type: nil, authorizable_id: nil, created_at: "2010-09-16 14:11:24", updated_at: "2010 -09-16 14:11:24">]
ruby​​-1.8.7-p174 > Role.find_by_name("installer")
角色加载 (0.3ms) SELECT * FROM "roles" WHERE ("roles"."name" = 'installer') LIMIT 1
=> #Role id: 2, name: "installer", authorizable_type: nil, authorizable_id: nil, created_at: " 2010-09-16 14:11:24 ",更新时间:"2010-09-16 14:11:24">

0 投票
2 回答
422 浏览

ruby-on-rails-3 - acl9 has_many 通过实现

我在 Rails 控制台上收到以下弃用警告:

问题在于roles_users我按照在线分步教程创建的表。

如何has_many :through为 acl9 实现关联?这超出了我的范围,特别是因为userandrole模型每个都只使用辅助方法而没有实际has_and_belongs_to_many的 .

它们是这样的:

0 投票
0 回答
242 浏览

ruby-on-rails - Rails 中的对象级授权数据库结构

我正在编写一个 Rails 应用程序,它需要在对象级别进行非常细粒度的授权。其他系统使用诸如 acl9 或 declarative_authorization 之类的插件,但我想实现自己的。我想到了以下数据库结构,想知道这是否会偏离 Rails 的最佳实践。

http://www.pastie.org/2496489

欢迎任何指针/建议或潜在问题。

0 投票
1 回答
581 浏览

ruby-on-rails - Rails 可配置的每个角色/crud 操作的授权

我正在使用一个已经使用 declarative_authorization 来处理用户权限的 Rails 2.3 应用程序。每个用户属于一个组(没有花哨的角色),对某些模型具有权限,主要是常规的 CRUD 操作,但也有一些特殊的操作。这一切都适用于 declarative_authorization,它通常是开箱即用的模式。

我们现在希望允许管理员针对模型类型设置特定用户组的权限。例如,我们创建一个新组 Foo,为其分配一些用户,然后用复选框决定组 Foo 中的用户是否可以 c/r/u/d 模型 Bar 的对象。

我以前用过acl9,我想我知道我怎么能做到这一点。我最近一直是CanCan的粉丝,但我明白如何轻松做到这一点。如果 declarative_authorization 可以做到这一点,我会坚持下去,但我准备硬着头皮切换。

什么插件是实现这一目标的最佳方式?有没有办法让 declarative_authorization 完成这项工作?使用 CanCan 的优雅方式?我应该注意什么问题,例如数据库性能?

我可以说服我将应用程序升级到 Rails 3.1,但我更愿意找到与 2.3 兼容的解决方案。

我见过一些类似的问题,但没有令人满意的答案 Rails Dynamic Role-Based Authorization plugin?

而这个,对于cancan https://github.com/ryanb/cancan/wiki/Role-Based-Authorization

0 投票
1 回答
690 浏览

ruby-on-rails - 如何使用 cancan 控制字段访问

我有一个Book模型,它有一个cover字段,它是上传的图像的路径。

但是如果用户不是特定的用户级别,我想限制封面的上传。

我如何使用 CanCan 执行此操作,或者我应该为此使用 acl9 吗?

0 投票
2 回答
267 浏览

ruby-on-rails - Web 服务上的 Rails 授权

我的 Rails 应用程序几乎是几个 Web 服务的前端。我坚持我的用户模型,仅此而已。我需要为我的 Web 应用程序添加授权,使用 Devise 进行身份验证。我注意到 CanCan 和 acl9 似乎主要在 ActiveRecord 模型的实例上工作。CanCan 或 acl9 是否仍能满足我的需求?在我的情况下使用这些库中有什么提示吗?

我应该寻找更适用于动作而不是实例的东西吗?

此外,这些都是基于角色的系统,我正在考虑使用基于权限的系统。他们仍然很合适吗?

0 投票
1 回答
52 浏览

ruby-on-rails - 在 Ruby on Rails 中建模未知的部门/节数

在 Ruby on Rails 中,如何建模一个Employee可能属于 aSection并且可能属于Section 或不属于另一个Section一直到Organization. 我正在寻找一组可以处理未知数量级别的模型。然后找出最直接的级别Employee,每个级别Section都有自己的管理员。

我希望使用acl9进行授权,但是如果级别数未知,我仍然无法弄清楚如何做到这一点。

0 投票
2 回答
423 浏览

ruby-on-rails-3.2 - acl9 不填充 created_at

我完全遵循了 acl9 自述文件,仔细检查了所有内容,但在尝试使用has_role!(:admin).

唯一的问题是我使用的是 Rails 3.2 并使用了以下修复错误:Rails 3.2 undefined method `key?' 对于零:NilClass

有什么建议么?

0 投票
2 回答
152 浏览

ruby-on-rails - acl9 的角色表的列中应该包含什么

可能是一个愚蠢的问题,但我非常接近实现 acl9。只是有点不确定角色表中的数据应该是什么样子:

我假设名称将是“管理员”等。

我不确定authorizable_typeauthorizable_id指的是什么。

0 投票
2 回答
724 浏览

ruby-on-rails - 如何使用 acl9 以管理员身份管理用户及其角色

想知道使用 acl9 管理用户角色的最佳方法是什么?

这是需求:

  • 管理员应该能够更新用户的角色。

以下是问题:

  1. 我们如何列出所有主题角色?:管理员,:经理
  2. 为了保持 api 端点 RESTful,我想理想地在 user_controller 的更新方法中传递角色参数。
  3. 我怎样才能只为角色属性授权,以便用户对象的所有者仍然可以修改他们的名字、姓氏字段,但不能修改他们的角色字段?只允许管理员。

access_control我可以在块外手动检查参数:

但我想我会检查一下是否有更清洁的解决方案。

最后,使用RoleTypes.ADMIN,RoleTypes.MANAGER而不是:admin? 如果是这样,最好的方法是什么?该类是否可以在整个 Rails 应用程序中访问?