我正在用 ruby on rails 开发一个应用程序,我已经到了不知道什么是休闲场景的最佳解决方案的地步。到目前为止,我能够创建用户、创建项目、关联用户(类似于在 FB 上),我能够邀请用户访问我的网站,现在我想允许用户对他们创建的项目授予不同级别的访问权限,给其他用户(类似于 github)。此外,创建帐户后的用户将获得超级管理员的角色,这样他们就可以管理他们的项目,或将项目分配给他们的同事。因此,这将是我在 cancan 和声明式授权之间的最佳选择。如果我将使用 cancan 或声明式授权,我还需要一个存储 user_id、role_id 和 project_id 的表吗?
谢谢
我会更好地解释我的问题。到目前为止,我有能够创建项目的用户(有设计)。因此,如果 user1 创建项目 A 并且项目 BI 想要他,则能够在项目 A 上为 user2 分配角色 admin,在项目 B 上分配 user2 为主持人角色。我正在考虑创建一个 UserRoleProject 链接表,这是一个好主意? 或者,如果没有,请帮助我一些指示。
该操作类似于,User1 从列表 user2 中选择,从另一个列表中选择一个项目(由 user1 创建),然后选择 user2 在该项目中的角色。
任何用户都可以对他们的项目执行相同的操作。还将有 n 个项目和 n 个用户以及 3 个访问级别(管理员、版主、访客)
谢谢