问题标签 [rolify]

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

ruby-on-rails - rails: 设计,cancan,rolify 以按用户获取角色名称

我可以通过以下方式轻松测试用户是否具有特定角色

如何获取用户的角色名称?就像是

用户模型

好榜样

0 投票
1 回答
773 浏览

ruby-on-rails - rails (devise/cancan /rolify): 更有效地让用户获得特定角色

这是我让所有用户具有特定角色的代码

这个简单的任务看起来代码太多了。有一个更好的方法吗?

0 投票
1 回答
980 浏览

ruby-on-rails - Rails 3.2.13 + Faker + Devise + Rolify

我正在构建一个测试应用程序并遇到了 Faker gem 的问题:

我已经使用 Devise 创建了 Use 模型并使用 Rolify gem 创建角色,然后将使用 CanCan 来限制用户的使用权限。

因此,我使用 Faker 为我的 rake 任务创建了一个文件:

这段代码有效,它创建了 198 个虚拟用户......但是当我查看我的 users_roles 表时 - 那里什么都没有,用户没有分配给他们的角色。我一直在试图弄清楚如何通过 Faker 为用户分配角色,但没有运气。

我试过添加user.role_id = User.add_role :user,但没有运气。

先感谢您。

0 投票
1 回答
919 浏览

ruby-on-rails - 在 Rails 中使用 Devise 组织管理员/教师/学生用户帐户的最佳方式是什么?

  • 管理员 = 完全控制。CRUD 教师和学生帐户。最小字段集。
  • 老师 = 阅读/更新他们自己的帐户。阅读他们自己的学生帐户。更多独特的领域。
  • 学生 = 阅读/更新他们自己的帐户。更多独特的领域。

身份验证 - 设计授权 - CanCan、Rolify

我在 Devise 中有一个用户模型,结合 CanCan 和 Rolify 来设置角色和能力。这工作正常,但由于下面的第一个要求而开始变得复杂。我不确定“角色”是区分这些帐户的最佳方式,因为它们具有非常不同的字段集和能力。

为三种用户类型使用不同的设计模型会更好吗?(这因第二个要求而变得复杂。)或者像我现在所做的那样将所有用户保持在一个模型中并分配角色和能力是最佳实践吗?

要求:

  • 不同的用户类型将具有该用户类型独有的几个(必需)字段(即学生有 parent_name,教师没有等)
  • 我需要有一个统一的登录表单,并从登录凭据中检测到用户类型,并基于此重定向用户。

我在这里查看了几个关于实现这两种方法的细节的答案,但我正在寻找关于哪种方法更适合我的应用程序的建议。我在设计中投入太多了吗?我意识到它只是一个身份验证框架。我应该为个人属性设置一个单独的用户模型吗?

好像你不知道 - 我对此很陌生,但仍在尝试了解这些概念。

0 投票
1 回答
94 浏览

ruby-on-rails - 如何使用 CanCan 和 Devise 授权特定页面?

我有一个students使用 CRUD 方法的资源。只有具有特定角色的人才能读取、更新、管理等students资源。ability.rb我在我的文件中指定了这一点。但是,现在我希望学生(通常无权访问该students资源)只能访问他们的出勤记录/students/:student_id/attendances。我怎么能允许呢?

0 投票
1 回答
419 浏览

javascript - 显示用户角色:angularjs、rolify、rails app

我正在设置一个基本的 rails 应用程序并将 angularjs 集成到其中。身份验证由 devise 处理,cancan 和角色由 rolify 管理。我正在尝试构建用户索引页面并在页面上显示每个用户的角色,但似乎无法使其正常工作。jbuilder 返回每个用户的信息,但角色不在那里。

index.json.jbuilder

我的用户模型、控制器或索引页面没有什么特别之处(我试图在索引页面上为用户显示索引条目中的角色)

有什么帮助吗?

提前致谢:

最大限度

0 投票
1 回答
237 浏览

ruby-on-rails-4 - 使用“rake db:seed”时的弃用警告

我有一个DEPRECATION WARNING使用时rake db:seed

这发生在user.add_role :admin以下块中:

我已经清理了find_or_create_by_email警告代码,但我找不到add_role.

0 投票
0 回答
595 浏览

ruby-on-rails - 设计:user_id 中角色的外键列

我使用 rails composer 为我的 rails 项目创建了一个入门应用程序。它使用设计来创建和管理角色

我的用户具有以下角色:招聘人员、申请人 用户可以是 [招聘人员、申请人] 之一或两者

我查看了 User 模型,但它没有任何外键 role_id 列。我自己添加了该专栏,我面临以下问题

1] 该应用仅为我注册的每个用户分配 role_id=1

2] 对于既是招聘人员又是申请人的用户,用户列中是否会有 2 个具有不同 ID [1 和 2] 的角色,该模型将/应该如何处理。

这是我的用户模型:

0 投票
1 回答
473 浏览

ruby-on-rails-4 - 我将如何更改它以防止对数据库进行大量查询以检查用户角色?

最后更新时间:2013 年 8 月 29 日 18:54 EST

我定义了以下模块,然后将其包含到我的模型中。我正在使用 rolify gem 给我的用户角色。

我正在经历的是,当我执行以下操作时......

它为每个返回的报价查询角色表。无论如何,在请求报价列表时,它是否不会重复提出此请求?我确信我可以缓存响应以避免数据库命中,但我宁愿它也不命中缓存。

如果我打开一个 Rails 控制台并执行以下操作,我会得到相同的结果:

我已经安装了子弹 gem,看看它是否认为它是一个 N+1 查询,但它没有检测到它。我相信,因为每次创建新的报价实例时都会调用包含的内容,所以它会触发此调用以验证权限。再加上 rolify 不会在任何时间长度内缓存其用户角色检查,这使得这不太理想。我想 rolify 这样做是为了允许即时更改角色,而无需处理清除缓存。到目前为止,我能看到解决这个问题的唯一方法是实现我自己的缓存。

0 投票
1 回答
1651 浏览

ruby-on-rails - 使用 CanCan 在 Active Admin 中未拒绝用户访问

我正在使用 Active Admin 的 CanCan 授权适配器以及 Rolify 来管理管理站点上的授权。我有一个模型 , companythathas_many :manuals和另一个模型manuals, that has_many :parts

如果用户无权阅读admin/manuals/1并将其键入地址栏中,他们将被正确重定向并显示未经授权的消息。但是,如果用户键入,admin/manuals/1/parts他们不会被拒绝访问。他们被带到那个页面,除了所有部分都对他们隐藏。他们应该被重定向到带有未经授权的消息的仪表板。

这是我的配置。提前感谢您提供的任何建议。

配置/路由.rb

模型/能力.rb

我还覆盖了controllers/application_controller.rb中的默认授权方法