问题标签 [laravel-middleware]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
923 浏览

php - 中间件用于控制器中的操作,Laravel 5.1

我有一个具有索引方法的控制器,但也有多个级别的用户可以访问此方法,但是单个管理员可以查看数据库的所有记录如何添加中间件以选择与用户对应的操作?我有下一个代码

感谢:D

0 投票
2 回答
23488 浏览

php - Laravel 5:路由之前和之后的中间件

我有两个中间件:beforeCache 和 afterCache,两者都在内核上注册。

我想按以下顺序将它们调用到路由中:1. beforeCache 2. myController 3. afterCache

如果我定义这样的路线:

beforeCache 不会执行,因为 afterCache 正在重新定义相同的数组键中间件。

我该怎么做?谢谢!

0 投票
1 回答
311 浏览

laravel - 仅允许 CRUD 对拥有资源的 Auth::user

我目前在用户创建模型的项目中工作,只有他/她可以查看、编辑或删除。

Create Part 由 Eloquent Relationships 完成,但对于其他操作,我想将它与 Route Model 绑定结合起来,而不是在控制器中手动进行。我尝试使用中间件解决它,但我无法访问资源。

有人可以指出正确的方向吗,欢迎任何最佳实践!

0 投票
1 回答
406 浏览

php - Laravel 5:中间件无法按预期工作

我的中间件有问题。

创建自定义中间件:php artisan AuthNew

在此处输入图像描述

在我的 AuthNew 里面:

在此处输入图像描述

在我的 routes.php 里面: 在此处输入图像描述

问题是当我登录时它总是将我重定向到 /account。即使我做了 /logout 的事情,它仍然会将我重定向到 /account。我期望发生的是当我成功登录时。只有用户通过身份验证,所有帐户路由才会路由。如果没有,会将我重定向到登录页面。并且将不再访问 /account 链接。反之亦然,登录。(如果认证无法访问登录页面)请指教。

0 投票
2 回答
3197 浏览

php - 拦截 Laravel 路由

我正忙于在 Laravel 5.1 中构建一个 Restful API,其中 API 版本通过标头传递。这样,我可以对功能进行版本控制,而不是复制和粘贴整个路由组并增加版本号。

我遇到的问题是我想要版本化的方法,IE:

我在路由上添加了一个中间件,我从标头中捕获版本,但现在需要修改请求以从控制器中选择正确的方法。

应用程序/Http/routes.php

app/Http/Middleware/ApiVersionMiddleware.php

从这里开始,我会将标头版本附加到 $action,然后通过 $request 传递它,以便它到达正确的方法。

好吧,无论如何,这就是理论。

关于如何将动作注入路线的任何想法?

0 投票
2 回答
4551 浏览

laravel-5 - 流明抛出错误中的“auth”中间件

我是第一次测试流明。尝试auth中间件会引发错误。我想知道这样的中间件是否带有 lumen 或者我们需要实现我们自己的?这是我的路线文件

这是尝试访问路线时的错误

0 投票
1 回答
154 浏览

php - 后路由中间件未触发 Laravel

我正在尝试在应用程序之后添加一个中间件,以便我可以将时间戳和其他信息添加到我的 API 调用中。我已经正确设置了路由,因为它正确地到达了我的中间件,但是当我到达中间件时,会抛出一个错误,即:

在非对象上调用成员函数 put()

我的中间件有以下代码:

我曾尝试 dd( $collection ),但它返回应该返回的对象,所以我不知道出了什么问题。谁能指出我正确的方向?

谢谢!

0 投票
2 回答
813 浏览

php - Laravel 5.1:处理 RESTful API 中的缺失字段

在我的 Laravel 5.1 应用程序中,我有一个用作 RESTful API 的控制器。该控制器的许多方法都有以下代码:

我知道重复同一段代码(具有不同的数组内容)并不是最好的主意。相反,我正在寻找一些优雅的方式来实现同样的目标。

我想到了带参数的中间件,在 routes.php 中是这样的:

目前我正在使用隐式控制器,所以routes.php文件中没有提到我的方法。

在不重复自己的情况下实现此功能的最灵活和优雅的方式是什么?

0 投票
1 回答
785 浏览

php - Laravel 5.1:中间件终止函数使用的全局变量

我编写了一个中间件终止函数,它将请求执行期间收集的所有日志发送到外部日志服务器。这些日志主要收集在无法直接访问请求对象的辅助函数中,当从控制器调用时,将请求作为参数发送给辅助函数会使我的代码变得丑陋。

在 Laravel 5.1 中是否有一种干净的方式来拥有一个全局变量,我可以在其中存储所有日志以供以后由终止函数使用?

0 投票
2 回答
702 浏览

php - Laravel - 只允许笔记的所有者查看和编辑它:中间件还是 FormRequests?

想象一个个人笔记应用程序。用户可以添加、查看和编辑自己的笔记,但不能添加、查看和编辑属于其他用户的笔记。

通过这种方式访问​​注释:app.dev/notes/{id}

所以很自然,如果我拥有一个 ID 为 的便笺140,但在 URL 中将 id 更改为 160,我将能够查看该便笺。

我想防止这种情况发生。我想过为此使用中间件,但我读到有人说我们不应该为此使用中间件,因为它不灵活,我应该使用 FormRequests 代替。

问题是,我不明白在这种情况下如何使用 FormRequests。我使用 FormRequests 来防止用户编辑不属于他们的笔记。如果我拥有 ID 为 的便笺140,并尝试编辑/发布 ID 为 的便笺160,我的表单请求不会让我这样做。

但是这个 FormRequest 实际上并没有阻止我查看 ID 为160.

有人可以指出我这样做的正确方法吗?

谢谢