【发布时间】:2015-12-17 20:22:33
【问题描述】:
我正在为当前的项目重新使用 Rails,并且正在讨论使用什么 auth gem。我面临的挑战是有两层角色。
组织级别的角色 - 想想 SaaS 风格的层级,每个组织都可以访问不同的功能集
用户级角色 - 更传统,我之前使用过 pundit、cancancan 等。
这里的怪癖也是一个用户可以属于许多组织。用户正在浏览的当前组织存储在会话中,具体取决于某些 URL 参数。
任何人都可以分享一些代码示例,以授权级别级别角色以及组织的功能角色吗?
例如
用户 A 属于 Org 123 并且是管理员,他们可以创建/更新/删除帖子,但不能将投票附加到帖子
用户 B 属于 Ord 543 并且是管理员。他们可以创建/更新/删除帖子,并且可以创建投票,因为他们的组织具有该功能。
有些人建议对组织使用 rolify,对用户使用 pundit,但我觉得有一种更简单的方法可以做到这一点,而无需使用两个单独的系统。
【问题讨论】:
标签: ruby-on-rails-4 authorization