Laravel将图像保密为auth用户

时间:2017-11-20 22:45:01

标签: php laravel authorization

想象一下...... 我有一个webapp(内置Laravel),用户可以登录并上传他们喜欢的图片。 我只希望经过身份验证的用户(登录和上传图像的人)能够查看/编辑图像。 我搜索过网络,但找不到解释如何执行此操作的正确答案。 我尝试了一些解决方案,但图像可以通过例如访问 http://127.0.0.1:8000/storage/my-images/1/15.jpeg / 1 /是登录用户的用户ID。

非常感谢任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我想到的最简单的解决方案是将经过身份验证的用户ID与照片的作者进行比较。例如。假设您有一个列(属性)标识照片模型中照片的作者,您可以这样做:

Auth::user()->id == $photo->user_id

您甚至可以在刀片模板中轻松测试其工作方式,然后将其移至控制器。这里的关键是Auth外观,通过它可以获得当前经过身份验证的用户。

如果您想要更清洁的东西,您可以查看门户和政策。它们包含在Authorization section of Laravel docs