Rails 3用户如何限制公司帐户的数据访问权限?
- 内容介绍
- 文章标签
- 相关推荐
本文共计634个文字,预计阅读时间需要3分钟。
在您的应用中构建身份验证/授权的最佳方法可以是采用以下步骤:
1. 选择合适的认证服务提供商:考虑使用多个知名公司的认证服务,如Google、Facebook、Twitter等,以增加用户注册的便捷性。
2. 利用子域名:为不同用户群体设置子域名,如`user1.example.com`和`user2.example.com`,以便于管理和访问。
3. 用户数量管理:确保系统可以轻松处理大量用户,并优化数据库和服务器性能以支持高并发访问。
4. 限制用户访问:确保用户只能通过认证服务访问应用,防止未授权访问。
5. 记录用户活动:为每个用户创建活动记录,包括登录、注销和其他相关操作,以便于追踪和审计。
>许多公司帐户,可能使用子域名
>帐户有很多用户
>并且用户只能访问由他们自己或具有相同帐户的其他用户创建的记录.
我已经完成的研究提供了很多混合设计,用于以奇怪和奇妙的方式组合设计/ cancan / authlogic,但我还没有找到任何能够向我展示限制用户访问数据的最佳方法模型.
例如:
帐户1:欧亚大陆
用户1:鲍勃
用户2:吉姆
帐户2:Eastasia
用户1:戴夫
用户2:艾伦
Isbn 1:account_id是1
Isbn 2:account_id是2
我如何确保Bob无法访问或讨论Isbn 2?
///更新
当然,现在我发布了这个,我的google fu已经开始了,我已经从RyanB找到了CanCan 2.0的自述文件,看起来很完美:
>资源
我建议使用 CanCan进行授权.What if you need to change authorization based on a model’s
attributes? You can do so by passing a hash of conditions as the last
argument to can. For example, if you want to only allow one to access
projects which he owns you can set the :user_id option.
你的能力模型看起来像
can :manage, :isbn do |isbn| isbn.account == current_user.account end
那你可以使用像can这样的条件吗? :在您的控制器/视图中管理,@ post.
本文共计634个文字,预计阅读时间需要3分钟。
在您的应用中构建身份验证/授权的最佳方法可以是采用以下步骤:
1. 选择合适的认证服务提供商:考虑使用多个知名公司的认证服务,如Google、Facebook、Twitter等,以增加用户注册的便捷性。
2. 利用子域名:为不同用户群体设置子域名,如`user1.example.com`和`user2.example.com`,以便于管理和访问。
3. 用户数量管理:确保系统可以轻松处理大量用户,并优化数据库和服务器性能以支持高并发访问。
4. 限制用户访问:确保用户只能通过认证服务访问应用,防止未授权访问。
5. 记录用户活动:为每个用户创建活动记录,包括登录、注销和其他相关操作,以便于追踪和审计。
>许多公司帐户,可能使用子域名
>帐户有很多用户
>并且用户只能访问由他们自己或具有相同帐户的其他用户创建的记录.
我已经完成的研究提供了很多混合设计,用于以奇怪和奇妙的方式组合设计/ cancan / authlogic,但我还没有找到任何能够向我展示限制用户访问数据的最佳方法模型.
例如:
帐户1:欧亚大陆
用户1:鲍勃
用户2:吉姆
帐户2:Eastasia
用户1:戴夫
用户2:艾伦
Isbn 1:account_id是1
Isbn 2:account_id是2
我如何确保Bob无法访问或讨论Isbn 2?
///更新
当然,现在我发布了这个,我的google fu已经开始了,我已经从RyanB找到了CanCan 2.0的自述文件,看起来很完美:
>资源
我建议使用 CanCan进行授权.What if you need to change authorization based on a model’s
attributes? You can do so by passing a hash of conditions as the last
argument to can. For example, if you want to only allow one to access
projects which he owns you can set the :user_id option.
你的能力模型看起来像
can :manage, :isbn do |isbn| isbn.account == current_user.account end
那你可以使用像can这样的条件吗? :在您的控制器/视图中管理,@ post.

