使用多重身份验证设置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
答案 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();
}