Laravel跟踪器页面,具有多个authintication

时间:2017-10-02 15:09:09

标签: laravel laravel-5.4

使用多重身份验证设置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时,即使我在使用admin登录后尝试访问统计信息页面,我也会重定向到管理员登录信息。我将重定向到管理员登录信息。

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

我正在使用laravel 5.4

1 个答案:

答案 0 :(得分:0)

我设法解决了这个问题:

tracker.php:

'authentication_ioc_binding'=> ['App \ Admin'],//在Illuminate \ Support \ Facades \ Auth

中默认为'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();
}