gpt4 book ai didi

ruby-on-rails - 检查 current_user 是否是资源的所有者并允许编辑/删除操作

转载 作者:行者123 更新时间:2023-12-03 22:47:36 24 4
gpt4 key购买 nike

示例:

用户 (id=10) 创建了一个 照片资源

photo: (id: 1 user_id = 10, url: "http://...")

现在,如果用户 (id=20) 转到这个网址: /photos/1/edit它可以编辑用户的照片 !!!

Rails+Devise 默认情况下为此提供一些东西?似乎这是一个非常普遍的问题

我只需要允许任何用户只能编辑/删除它创建的资源(其中 current_user == resource.user)

使用: Rails 4,设计

更新:

我认为 CanCan 太先进了。我不需要角色或将某些操作限制为某些用户

最佳答案

在您的照片 Controller 中:

before_filter :require_permission, only: :edit

def require_permission
if current_user != Photo.find(params[:id]).user
redirect_to root_path
#Or do something else here
end
end

关于ruby-on-rails - 检查 current_user 是否是资源的所有者并允许编辑/删除操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17594939/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com