我想在我的应用中添加“共享文档”功能,就像谷歌文档服务一样。正如我所见:
用户可以:
请告诉我,为我的任务提供哪种权限/授权解决方案?
答案 0 :(得分:2)
您可以查看此处提供的一些授权插件:
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来简化控制器/视图中的授权。