【发布时间】:2016-05-12 03:39:13
【问题描述】:
我是 Ruby on Rails 开发的新手。目前,我正在创建一个 Web 应用程序,用户可以在其中登录、创建和操作他们自己的“活动”(数据库对象),然后显示在仪表板上。我正在使用设计 gem,但充其量它在不实际使用任何权限的情况下过滤数据库对象。我需要确保仪表板上显示的数据库对象仅特定于当前登录的用户。在仪表板上仅显示登录用户的活动是一个好的解决方案,并确保用户无法访问/查看仪表板上其他任何人的对象。
【问题讨论】:
-
你试过Cancan吗?
-
我试过cancan,但我不知道基于角色的授权是否是最好的解决方案。我需要确保每个用户都有一个唯一的角色,并且我假设使用 cancan 为每个用户分配一个新角色会非常复杂。
-
你可以拥有一个“我只能看到我自己的帖子”的角色,而不需要太多的工作,比如
record.user_id==session_user.id内置在可以或不能显示的逻辑中。其他角色可能是“查看任何内容,仅编辑我自己的帖子”或“查看和编辑任何内容” -
你可以结帐专家宝石
-
您似乎想多了,根据您的描述,广告系列和用户之间存在关系?如果是这样并且您正在使用设计,只需执行
current_user.campaigns并将其用作填充网页的数据。
标签: ruby-on-rails ruby database authorization