【发布时间】:2011-10-03 01:45:10
【问题描述】:
我想知道在我的应用中构建身份验证/授权的最佳方式。我想拥有
许多公司帐户,可能使用子域
帐户有很多用户
并且用户只能访问由他们自己或具有相同帐户的其他用户创建的记录。
我所做的研究提供了许多混合搭配的想法,以奇怪而美妙的方式组合 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 找到了 CanCan 2.0 的自述文件,看起来很完美:
> 资源
如果您需要根据模型的授权更改授权怎么办? 属性?您可以通过传递条件哈希作为最后一个 可以的论据。例如,如果您只想允许一个人访问 他拥有的项目你可以设置 :user_id 选项。
【问题讨论】:
标签: ruby-on-rails authorization access-control user-permissions