如何分配每个用户在不同条件下访问项目?
Posted
技术标签:
【中文标题】如何分配每个用户在不同条件下访问项目?【英文标题】:how can i assign each user to have access to the projects on different condition? 【发布时间】:2012-10-08 13:05:28 【问题描述】:我已经设计了身份验证,我必须让特定用户只有查看该特定项目的权限,并为不同项目的同一用户创建和读取权限,类似地,其余用户应该具有项目权限。并且此权限应该是可编辑的,以便具有角色 admin 的用户必须编辑用户的权限。我该怎么做?
【问题讨论】:
【参考方案1】:Ryan Bates 的CanCan gem 可以满足您的大部分要求。查看 CanCan 上的 RailsCast 剧集以了解快速介绍:http://railscasts.com/episodes/192-authorization-with-cancan
不确定它是否——现成的——提供以图形方式编辑权限,但我认为它可以通过 CanCan 中的可用功能来实现。
【讨论】:
我已经看到了,它只显示为用户分配角色。我已经分配了一个角色,但除了角色之外,我希望同一角色的用户对同一项目具有不同的权限。【参考方案2】:我对 Rails 没有任何经验,但我想,您正在寻找一个对象级别权限,该权限可用于控制每个用户对单个对象的 CRUD 操作。
add_permission --> List of User
view_permission --> List of User
delete_permission --> List of User
update_permission --> List of User
add_excluded_user_permission --> List of User
view_excluded_user_permission --> List of User
delete_excluded_user_permission --> List of User
update_excluded_user_permission --> List of User
您可以将以下属性继承给您的类,这些属性主要是为特定操作定义的用户列表,然后,您可以考虑创建一个 API,用于检查用户是否具有这些权限。
【讨论】:
以上是关于如何分配每个用户在不同条件下访问项目?的主要内容,如果未能解决你的问题,请参考以下文章