我试图用相同的表单登录Admin和User,但config/auth我只能设置一个默认的
这是我的config/auth
'defaults' => [
'guard' => 'web_users',
'passwords' => 'users',
],
'guards' => [
'web_users' => [
'driver' => 'session',
'provider' => 'users',
],
'web_admins' => [
'driver' => 'session',
'provider' => 'admins',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App'User::class,
],
'admins' => [
'driver' => 'eloquent',
'model' => App'Admin::class,
],
],
当我用默认的"web_users"登录用户时,我可以用Auth::User()方法检索他的数据,但如果我用默认"web_admins"登录管理员,则无法检索任何数据。
路线:
Route::resource('log','LogController');
Route::get('logout','LogController@logout');
日志控制器
public function store(Request $request)
{
if(Auth::guard('web_users')->attempt(['email'=>$request['email'],'password'=>$request['password']])) {
return Redirect::to('/');
}
if(Auth::guard('web_admins')->attempt(['email'=>$request['email'],'password'=>$request['password']])) {
return Redirect::to('/');
}
}
public function logout()
{
Auth::logout();
return Redirect::to('log');
}
注意:对不起我的英语,我说得不太好
对Routes文件尝试此操作
Route::group(['middleware' => 'auth:web_users,web_admin'], function () {
Route::resource('log','LogController');
Route::get('logout','LogController@logout');
});