laravel - Laravel $middlewareGroups 排除非身份验证路由
问题描述
我创建了一个中间件组,但我想排除所有非身份验证路由,例如:
- /登记
- /登录
- /
- 等等
不是为每个非身份验证路由构建一个“覆盖范围”的开关案例,而是对路由进行开箱即用的排除$middlewareGroups
吗?
我需要使用 $middlewareGroups,而不是 $routeMiddleware。
谢谢
解决方案
好吧,我会继续回答我自己的问题,但如果有人拿起手套,或者如果 Taylor Otwell 回答:P
回顾一下,如果您在 下构建中间件$middlewareGroups
,您将在所有路由上应用中间件,我将其用于角色/权限基础系统,但没有人需要特定页面的权限(直接与非身份验证页面相关) ) 所以我一直在寻找一个简单的单行排除。
这是我的温度。我做了黑客攻击:
public function handle($request, Closure $next)
{
$response = $next($request);
$nonAuth = $request->getPathInfo();
switch ($nonAuth) {
case "/":
return $response;
case "/register":
return $response;
case "/login":
return $response;
case "/logout":
return $response;
case "/home":
return $response;
}
// continue with regular Auth operations and so on and so forth
//for what you need out of this middleware.
$userId = Auth::id();
$user = User::findOrFail($userId);
}
推荐阅读
- python - 什么是 Pyomo 错误代码:0?它发生在我运行的每个示例中,我无法解决它
- python - 具有 0 步或更多步的数据集的步检测
- naudio - 如何关闭或重置 ASIO 驱动程序
- flutter - 当数据具有相同类别时如何从波纹管列表中删除数据,因此gridview没有重复的类别名称
- javascript - 如何在 ExpressJS 中一起渲染和重定向
- c# - 有没有办法使用服务器不支持的密码套件进行连接?
- python - 将多行传递给python脚本中的程序
- react-native - 从嵌套在 Stack Navigator 中的 Tab Navigator 导航
- javascript - react redux 中间件无法访问 utils 中定义的变量
- javascript - 确定相邻重复数组元素的索引