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