小编use*_*er2的帖子

如何将管理员重定向到特定页面并将用户重定向到另一个页面 - Laravel 8 jetstream

我正在尝试将管理员重定向到管理面板页面,将用户重定向到主页

我为用户类型创建了新字段,并在数据库中添加了“admin”值

$table->string('usertype')->nullable();
Run Code Online (Sandbox Code Playgroud)

然后我创建了这个中间件(AdminMiddleware):

<?php

 namespace App\Http\Middleware;

 use Closure;
 use Illuminate\Http\Request;
 use Illuminate\Support\Facades\Auth;

 class AdminMiddleware
{
/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle(Request $request, Closure $next)
{
    if(Auth::user()->usertype == 'admin')
    {
        return $next($request);
    }
    else
    {
        return redirect('/dashboard');
    }
    
   }
  }
Run Code Online (Sandbox Code Playgroud)

然后我将它添加到内核中:

        'admin' => \App\Http\Middleware\AdminMiddleware::class,
Run Code Online (Sandbox Code Playgroud)

我将该函数添加到 RouteServiceProvider 并导入该类:

public const HOME = '/dashboard';
    protected function redirectTo()
    {
        if(Auth::user()->usertype == 'admin')
        {
            return 'panel';
        }
        else …
Run Code Online (Sandbox Code Playgroud)

php middleware admin panel laravel

0
推荐指数
1
解决办法
5288
查看次数

标签 统计

admin ×1

laravel ×1

middleware ×1

panel ×1

php ×1