问题标签 [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 投票
0 回答
279 浏览

laravel-5.1 - Laravel 控制器中间件过滤多个步骤?

用户创建帐户后,他将按以下顺序重定向

  1. 注册公司
  2. 上传徽标
  3. 上传封面
  4. 连接到条纹
  5. 通用设置
  6. 优惠券设置
  7. 付费订阅

我有一个 OwnerController.php,它由与公司相关的所有控制器扩展。在其中我应用了两个中间件 1. hasAccess - 检查用户是否已登录 2. registrationComplete - 检查是否已完成上述所有 7 个步骤。这样我就知道用户已准备好使用该应用程序并且他们的个人资料已上线。

这是我如何应用registrationComplete中间件

问题是,在应用程序的其他控制器中,我还有其他名称相同的方法,如果用户更改地址栏中的 url,他们可以在完成注册过程之前访问受限区域。

我知道我可以在每条路线或分组路线上应用它,但我有数百条路线,这不是一个选择。

我想要做的是在中间件的 except 方法中添加控制器名称。前任

知道如何实现吗?

谢谢

0 投票
1 回答
435 浏览

laravel - Laravel 把 uri 改成小写

你知道 Laravel 是区分大小写的。如何强制用户在地址栏中使用小写字母?我可以更改中间件中的 Uri 吗?如何 ?我正在使用 Laravel 5.1.10

0 投票
2 回答
12917 浏览

laravel - Laravel - 将变量从中间件传递到控制器/路由

如何将变量从中间件传递到控制器或执行此类中间件的路由?我看到一些关于将其附加到请求中的帖子,如下所示:

还有其他人建议使用闪存:

但我不确定这是否是最佳做法,或者是否有更好的方法来做到这一点?这是我的中间件和路由:

仅供参考,我决定为此使用中间件的原因是因为我计划在其生命周期内缓存令牌,否则这将是一个可怕的实现,因为我会在每个请求上请求一个新令牌。

0 投票
2 回答
1068 浏览

php - Laravel 5.1:如何在隐式控制器中使用中间件?

我想检查身份验证以访问名为 FoodController 的控制器,并且此控制器访问权限仅允许某些用户,因此我创建了一个中间件并将其分配给 route.php 文件上的隐式控制器路由。但它显示一个错误 -

代码如下:

路由.php

内核.php

FoodAuthentication.php

我该如何解决?

0 投票
1 回答
11036 浏览

laravel - 如何防止 Laravel Routes 被直接访问(即非 ajax 请求)

在我的项目中,我将 Laravel 纯粹用作后端 api,所有前端都由 Angular javascript 处理。目前,可以直接访问 Laravel 路由,它将在浏览器中显示 Json 中的所有数据。我想对其进行限制,因此 Laravel 只响应 Ajax 请求而没有其他响应。

在这里阅读了这篇文章,它为 Laravel 4 提供了一个解决方案,即在filter.php. 但从 Laravel 5.1 开始,不再使用过滤器,我相信中间件也可以用来做同样的事情。但是,我不确定如何继续将 Laravel 4 解决方案中的 SO 答案从过滤器更改为中间件。

有人可以分享您关于如何防止 Laravel 5.1 路由被直接访问的想法吗?

Laravel 4 解决方案使用filter.php:在filter.php声明此过滤器中:

然后将您只希望通过 AJAX 访问的所有路由放入一个组中。在您的 routes.php 中:

0 投票
1 回答
1201 浏览

php - 如何将 laravel 5.1 中间件参数用于多个身份验证和受保护的路由?

我是 laravel 5.1 的新手。 如何使用中间件参数来保护我的管理员路由免受用户的攻击? 像这样的东西:

我的“用户”表中有一个“角色”字段,它有两个值:

  • 1个管理员
  • 2 用户

在我的应用程序中,用户有他们的受保护路线。我不想使用包。

0 投票
1 回答
2448 浏览

php - 如何在 laravel 中设置中间件

所以我有我的身份验证中间件,它注册Http/Kernel.php为:

接下来我对 Authenticate 类中的中间件句柄函数进行了更改:

最后我创建了路线:

我可以访问这条路线,但作为未登录用户,我应该被重定向。

当我通过函数dd()中的 a 时,handle什么也没有发生。

我如何让它在这条路线上运行这个方法?

此外,当涉及到需要在每个操作请求之前进行身份验证的其他控制器时,您怎么说:“在每个操作之前,运行此方法。” 在rails我会做before_action :method_name

0 投票
1 回答
685 浏览

php - Laravel 默认身份验证未重定向到正确路径

当用户未登录时,我在将内置 Laravel Auth 重定向到正确路径时遇到问题。

从文档看来,我可以将以下内容添加到 AuthController.php

添加它应该允许我控制在各种情况下重定向用户的位置,但似乎没有任何效果。

挖掘代码我可以看到 auth/login 路由是在 handle 函数的 middleware/authenticate.php 中设置的,如下所示:

如果我在这里更改路径,它会起作用,但这肯定不是实现它的最佳方法。

我正在使用 Laravel 5.1.7 并尝试过 php artisan route:clear

任何想法/建议都会很棒。

0 投票
2 回答
169 浏览

laravel - Laravel 5 自定义内置登录重定向

我正在自定义 laravel 5 的内置登录,以便它根据我添加到用户表的类型列重定向到三个不同的路径,我尝试更改 RedirectIfAuthenticated 中间件的句柄函数。但它似乎总能找到主 URI。

这是我编辑的中间件

我是 laravel 5 的新手,我非常感谢任何帮助和解释

0 投票
2 回答
388 浏览

authentication - Laravel 5.1 中间件检查用户的创建日期以更改密码

我正在使用 Laravel 5.1 开发一个 webapp,我正在构建身份验证系统,我必须检查用户是否在六个月或更长时间内没有更改密码,我会使用中间件来检查,但我没有找到我怎么能正确地做到这一点。我创建了一个全局中间件,但它无法正常工作,因为我无法获得经过身份验证的用户。

我可能必须使用 AfterMiddleware 来检查密码吗?