如何确保用户只能使用Laravel删除自己的记录

时间:2017-04-06 11:52:52

标签: laravel delete-row

如何确保用户只能删除自己的记录。

这是我如何使用以下网址删除帖子。

  

http://example.com/dashboard/sessions/delete/ {ID}

现在,用户还可以在此处传递任何帖子ID,然后无论帖子不属于用户,都会删除该ID的记录。 如何使用Laravel

克服这个问题

1 个答案:

答案 0 :(得分:1)

出于此目的,最好的方法是use policies

  

策略是围绕特定模型或资源组织授权逻辑的类。例如,如果您的应用是博客,则可能会有Post模型和相应的PostPolicy来授权用户操作,例如creatingupdating个帖子。

如果由于某种原因您不想使用政策,您可以手动检查用户:

if (auth()->check && auth()->user()->id === $post->user_id) {
    // Delete post.
}