假设有一些用户有几个帖子。每个用户都有许多帖子,每个帖子都属于一个用户。要更改post前端,请使用像users/1/posts/3
这样的URL。目标是检查第3条帖子是否属于用户1。有几种方法可以做到:
function)
中的
我在最后两个选择,但有一些疑问。自定义请求应该包含验证规则,不能与授权(SOLID)链接,我不知道在中间件中这样做是否好。
发布于 2020-08-18 12:26:20
我假设您希望检查用户是否可以修改post。
对于授权访问,https://laravel.com/docs/7.x/authorization#creating-policies是一种方法。
在定义策略之后,您可以在刀片文件、控制器等中重用它。
该策略为创建、读取、更新、删除等标准操作定义规则。
对于刀片,您可以:
@can('update', $post)
对于控制器中的方法:
$this->authorize('update', $post)
在其他任何地方:
$user->can('update', $post)
发布于 2020-08-18 12:30:23
可以将策略与自定义窗体请求结合使用。
https://stackoverflow.com/questions/63468442
复制相似问题