首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查用户权限的MiddleWare和CustomRequest

检查用户权限的MiddleWare和CustomRequest
EN

Stack Overflow用户
提问于 2020-08-18 12:19:10
回答 2查看 75关注 0票数 0

假设有一些用户有几个帖子。每个用户都有许多帖子,每个帖子都属于一个用户。要更改post前端,请使用像users/1/posts/3这样的URL。目标是检查第3条帖子是否属于用户1。有几种方法可以做到:

function)

  • Check
  1. 检查内部控制器方法或服务(坏方法IMHO)
  2. 检查内部自定义请求(授权中间件

中的

  • )

我在最后两个选择,但有一些疑问。自定义请求应该包含验证规则,不能与授权(SOLID)链接,我不知道在中间件中这样做是否好。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-18 12:26:20

我假设您希望检查用户是否可以修改post。

对于授权访问,https://laravel.com/docs/7.x/authorization#creating-policies是一种方法。

在定义策略之后,您可以在刀片文件、控制器等中重用它。

该策略为创建、读取、更新、删除等标准操作定义规则。

对于刀片,您可以:

代码语言:javascript
运行
复制
@can('update', $post)

对于控制器中的方法:

代码语言:javascript
运行
复制
$this->authorize('update', $post)

在其他任何地方:

代码语言:javascript
运行
复制
$user->can('update', $post)
票数 4
EN

Stack Overflow用户

发布于 2020-08-18 12:30:23

可以将策略与自定义窗体请求结合使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63468442

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档