Laravel 具有多重身份验证的跟踪器页面

Laravel tracker page with multiple authintication

我在设置 antonioribeiro/tracker 多重身份验证时遇到一些困难。我只想让管理员守卫只能访问此页面。我设置 tracker.php 如下:

'stats_routes_middleware' => 'auth:admins',

/*
 * Laravel internal variables on user authentication and login.
 */
'authentication_ioc_binding' => ['auth'], // defaults to 'auth' in Illuminate\Support\Facades\Auth
'authenticated_check_method' => 'check', // to Auth::check()
'authenticated_user_method' => 'user', // to Auth::user()
'authenticated_user_id_column' => 'id', // to Auth::user()->id
'authenticated_user_username_column' => 'username', // to Auth::user()->email 

目前,当我尝试访问 Mywebsite/stats 时,它会重定向到管理员登录,即使在我以管理员身份登录试图访问统计页面后,我也会被重定向到管理员登录。

如果我将 stats_routes_middleware 更改为 'web' 它工作正常但是当我更改为管理中间件时我无法访问统计页面。

我正在使用 laravel 5.4

我设法解决了这个问题:

tracker.php:

'authentication_ioc_binding' => ['App\Admin'],// 默认为 'auth' in Illuminate\Support\Facades\Auth

'authenticated_check_method' => 'check', // to Auth::check()

'authenticated_user_method' => 'user', // to Auth::user()

'authenticated_user_id_column' => 'id', // to Auth::user()->id

'authenticated_user_username_column' => 'username', 
'stats_routes_middleware' => 'web',

我的管理员模型:

protected $connection = 'mysql';
protected $guard = "admins";


public function getIsAdminAttribute()
{
    return true;
}

public static function check()
{
    return Auth::guard('admins')->check();
}

public static function user()
{
    return Auth::guard('admins')->user();
}