Authentication “用户特定”;资源“;有装置和轨道吗?

Authentication “用户特定”;资源“;有装置和轨道吗?,authentication,ruby-on-rails-3,authorization,devise,Authentication,Ruby On Rails 3,Authorization,Devise,用户有许多日记条目 日记条目对用户是私有的,因此用户只能创建/编辑/查看自己的日记条目 我以前没有实现过这个模式,我正在试图弄清楚如何实现它 第一步是在过滤之前:验证用户,但这使得日记条目仍然是注册用户之间的“共享”资源 在diary\u entries\create操作中,我们设置@diary\u entry.user=current\u user。只有当@diary\u entry.user==当前用户时,我们才能允许编辑/更新 索引操作只列出当前用户的日志条目,而不是所有日志条目 我的思路

用户
有许多
日记条目

日记条目
对用户是私有的,因此用户只能创建/编辑/查看自己的日记条目

我以前没有实现过这个模式,我正在试图弄清楚如何实现它

第一步是在过滤之前
:验证用户
,但这使得
日记条目仍然是注册用户之间的“共享”资源

diary\u entries\create
操作中,我们设置
@diary\u entry.user=current\u user
。只有当
@diary\u entry.user==当前用户
时,我们才能允许编辑/更新

索引操作只列出当前用户的日志条目,而不是所有日志条目


我的思路对吗?有更好的方法吗

我建议使用来实现权限。这将使限制用户访问自己的日记条目变得非常容易。它也很容易使用。不要编写自己的代码来处理权限,否则如果存在任何漏洞,您将有可能危及隐私和/或安全。

CanCan似乎完全按照我的建议执行,但它是以集中和灵活的方式执行的。谢谢,我会试试的!很高兴你发现CanCan与此相关。我有偏见,因为我贡献了代码,但我认为它非常棒。