Ruby on rails Rails基于对象的权限/授权引擎?
我想在我的应用程序中添加“共享文档”功能,就像在谷歌文档服务中一样。如我所见: 用户可以:Ruby on rails Rails基于对象的权限/授权引擎?,ruby-on-rails,ruby,permissions,authorization,Ruby On Rails,Ruby,Permissions,Authorization,我想在我的应用程序中添加“共享文档”功能,就像在谷歌文档服务中一样。如我所见: 用户可以: 可以列出/查看/创建/编辑/删除自己的文档 向每个人共享自己的文档-这是一个公共文档 将自己的文档共享给具有只读访问权限的其他用户 将自己的文档共享给具有读写权限的其他用户 查看他授予读写权限的自己的文档和用户的列表 查看外来文件列表 查看/编辑具有读/写权限的外来文档 请告诉我,我的任务首选哪种权限/授权解决方案?您可以在此处查看一些可用的授权插件: 对于对象级授权/权限,它看起来可以做到: 自
- 可以列出/查看/创建/编辑/删除自己的文档
- 向每个人共享自己的文档-这是一个公共文档
- 将自己的文档共享给具有只读访问权限的其他用户
- 将自己的文档共享给具有读写权限的其他用户
- 查看他授予读写权限的自己的文档和用户的列表
- 查看外来文件列表
- 查看/编辑具有读/写权限的外来文档
请告诉我,我的任务首选哪种权限/授权解决方案?您可以在此处查看一些可用的授权插件: 对于对象级授权/权限,它看起来可以做到: 自述文件中的示例:
class Article
include MongoMapper::Document
include Canable::Ables
userstamps! # adds creator and updater
def updatable_by?(user)
creator == user
end
def destroyable_by?(user)
updatable_by?(user)
end
end
您还可以定义一个可查看的_by?方法。您仍然需要文档模型上的某种权限字段或关联,但在此之后,您可以使用canable简化控制器/视图中的授权。谢谢您的回答。我已经在那里搜索过了。并观看所有与Ryan授权相关的视频。cancan(以及acl9和声明性_授权)无法满足我的需求。我更新了我的评论,将重点放在canable上,因为从自述文件来看,它似乎可以帮助您进行每个对象的授权。我找到的基于对象的权限的最佳库称为Approval,不幸的是,它从未被包装成宝石,可能已经收集了一些原油。