我想知道在我的应用程序中构建身份验证/授权的最佳方式。我希望有
许多公司帐户,可能使用子域
帐户有很多用户
并且用户只能访问由他们自己或具有相同帐户的其他用户创建的记录。
我所做的研究提供了许多混合和匹配的想法,以奇怪和奇妙的方式组合设计/cancan/authlogic,但我还没有找到任何东西可以向我展示限制用户访问同一数据的最佳方法模型。
例如:
账户 1:欧亚大陆
用户 1:鲍勃
用户 2:吉姆
账户 2:东亚
用户 1:戴夫
用户 2:艾伦
Isbn 1:account_id 为 1
Isbn 2:account_id 为 2
我如何确保 Bob 无法访问或删除 Isbn 2?
///update 当然,现在我已经发布了这个,我的 google fu 已经启动,我从 RyanB 找到了CanCan 2.0的自述文件,看起来很完美:
> 资源
如果您需要根据模型的属性更改授权怎么办?您可以通过将条件哈希作为最后一个参数传递给 can. 例如,如果您只想允许一个人访问他拥有的项目,您可以设置 :user_id 选项。