我想知道在我的应用程序中构建身份验证/授权的最佳方法。我希望有
我所做的研究提供了许多混合搭配的想法,以奇怪而美妙的方式组合 devise / cancan / authlogic,但我还没有找到任何东西可以向我展示限制用户访问同一数据的最佳方法模型。
例如:
账户1:欧亚大陆
用户1:鲍勃
用户2:吉姆
账户2:东亚
用户 1:戴夫
用户2:艾伦
Isbn 1:account_id 为 1
Isbn 2:account_id 为 2
如何确保 Bob 无法访问或修改 Isbn 2?
///更新
当然,现在我已经发布了这个,我的 google fu 已经启动,我找到了 RyanB 的自述文件康康2.0 https://github.com/ryanb/cancan/wiki/CanCan-2.0,这看起来很完美:
> 资源
如果您需要根据模型更改授权该怎么办
属性?您可以通过传递条件散列作为最后一个来做到这一点
论证可以。例如,如果您只想允许一个人访问
他拥有的项目可以设置 :user_id 选项。
我建议使用CanCan https://github.com/ryanb/cancan用于授权。
你的能力模型看起来像
can :manage, :isbn do |isbn|
isbn.account == current_user.account
end
然后你可以使用条件语句,例如can? :manage, @post
在你的控制器/视图中。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)