我想在我的应用程序中添加“共享文档”功能,就像在谷歌文档服务中一样。据我所知:
用户可以:
- 可以列出/查看/创建/编辑/删除自己的文档
- 与所有人共享自己的文档 - 它是公共文档
- 将自己的文档共享给具有只读访问权限的其他用户
- 将自己的文档共享给具有读写访问权限的其他用户
- 查看自己的文档以及他授予读写权限的用户的列表
- 查看外国文件清单
- 具有读/写权限查看/编辑外国文档
请告诉我,哪种权限/授权解决方案最适合我的任务?
您可以在此处查看一些可用的授权插件:
http://www.ruby-toolbox.com/categories/rails_authorization.html
至于对象级别的授权/许可,看起来像canable可以这样做:
http://github.com/jnunemaker/canable
从自述文件中的示例来看:
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
您还可以定义一个 viewable_by?方法。您仍然需要文档模型上的某种权限字段或关联,但之后您可以使用 canable 来简化控制器/视图中的授权。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)