铁轨和Devise:如何验证特定用户?
我第一次将 Devise 与 Rails 结合使用,但遇到了一件事: 我在用户控制器中使用了提供的 authenticate_user!
方法来限制对页面的访问,如下所示: before_filter :authenticate_user!, :only =>; [:edit, :show, :update, :create, :destroy]
但这允许任何登录用户访问任何其他用户 :edit
操作,我只想限制为那个用户。我该怎么做呢?
I'm using Devise for the first time with rails, and I'm having trouble with one thing:
I used the provided authenticate_user!
method in my user's controller to restrict access to pages like so:before_filter :authenticate_user!, :only => [:edit, :show, :update, :create, :destroy]
But this allows any signed in user to access any other users :edit
action, which I want to restrict to only that user. How would I do that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的编辑方法中,您需要检查用户是否拥有该记录:
In your edit method, you need to do a check to see if the user owns the record:
您应该研究一下授权,例如 CanCan。或者创建一个新方法,如下所示:
You should look into Authorization such as CanCan. Or alternatively create a new method like so: