Laravel路由器重定向您太​​多次

时间:2020-10-17 12:32:46

标签: laravel laravel-7

我已经安装了全新的laravel版本7。我正在创建用于登录多个用户的多重身份验证系统。到目前为止,我只更改了下面列出的几项内容。

我所做的更改:-

auth.php

添加了用户保护和用户提供程序

'guards' => [
    'user' => [
        'driver' => 'session',
        'provider' => 'users'
    ],
]

'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],
]

User.php

添加了一个守卫属性

protected $guard = 'user';

web.php

Route::middleware('auth:user')->group(function () {
    Route::get('/home', 'HomeController@index')->name('home');
});

HomeController。

使用了先前定义的用户防护。

public function __construct()
{
    $this->middleware('auth:user');
}

其余的代码我都没碰过。但是,这是 RedirectIfAuthenticated.php 文件,如果它有助于调试。

RedirectIfAuthenticated.php

<?php

namespace App\Http\Middleware;

use App\Providers\RouteServiceProvider;
use Closure;
use Illuminate\Support\Facades\Auth;

class RedirectIfAuthenticated
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @param  string|null  $guard
     * @return mixed
     */
    public function handle($request, Closure $next, $guard = null)
    {
        if (Auth::guard($guard)->check()) {
            return redirect(RouteServiceProvider::HOME);
        }

        return $next($request);
    }
}

0 个答案:

没有答案