php - 使用中间件后,重定向到 url 显示“此页面不工作”。但是当我删除中间件时,会显示页面
问题描述
app/http/Middleware/RoleMiddleware.php 中的中间件代码
public function handle(Request $request, Closure $next)
{
if(Auth::user()->role == 3){
return redirect('sales');
}
return redirect('login');
}
路由定义在 route/web.php
Auth::routes();
route::get('/sales',[App\Http\Controllers\DashboardController::class,'ShowSales']);
DashboardController 包含以下代码以查看页面,如果删除构造函数,则页面将显示在浏览器中,但是当添加具有中间件角色的构造函数时,我收到错误消息,例如“此页面无法正常工作页面重定向了你太多次了。”
public function __construct()
{
$this->middleware('role');
}
public function ShowSales(){
$data = [
'category_name' => 'dashboard',
'page_name' => 'sales',
'has_scrollspy' => 0,
'scrollspy_offset' => '',
];
return view('dashboard')->with($data);
}
并且dashboard.blade.php 是在views/dashboard.blade.php 中创建的,其中包含html 代码。
解决方案
中间件代码错误,导致它在销售路线中循环多次。下面的代码有效。
public function handle(Request $request, Closure $next)
{
if(Auth::user()->role == 3){
return $next($request);
}
return redirect('login');
}
推荐阅读
- c - C - 尝试将指向函数的指针作为参数传递时出错,无法获取值
- c# - 来自 IIS 的 30 秒响应延迟
- outlook - 如何使用附件 c# 在 Outlook 中回复
- python - 使用python 3的GCP授权会话获取方法
- c# - C# Canvas 不会增加 int 变量
- sql - 用于 IP 地址或 inet 类型的 Postgres“不包含在”运算符中
- php - Magento 2 - 控制器返回空白页
- xamarin.forms - 有没有办法隐藏顶部标签栏?
- javascript - 如何从响应数据 reactjs 创建 csv/excel 文件
- ios - 无法使用完成处理程序将类型“()”的值转换为预期的参数类型“()-> Void”