2016-04-08 5 views
2

Ich versuche, ein Admin und User mit dem gleichen Formular anmelden, aber die config/Auth Ich kann einfach nur ein OneWie verwende ich zwei Laravel Default Guard?

Standard

Das ist mein 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, 
    ], 
], 
einstellen

Wenn ich einen Benutzer mit dem Standard "web_users" anmelde, kann ich seine Daten mit der Methode Auth :: user() abrufen, aber wenn ich mich in einem Admin mit dem Standard "web_admins" anmelden, kann nichts abgerufen werden.

Routen:

Route::resource('log','LogController'); 
Route::get('logout','[email protected]'); 

Log-Controller

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'); 
} 

Hinweis: sorry für mein Englisch, ich es nicht sehr gut

+0

[Dies ist sehr detailliert] (http://stackoverflow.com/questions/34614753/can-anyone-explain-laravel-5-2-multi-auth-with-example?lq=1) – MPS

Antwort

0

sprechen versuchen, dies für Routes-Datei

Route::group(['middleware' => 'auth:web_users,web_admin'], function() { 
    Route::resource('log','LogController'); 
    Route::get('logout','[email protected]'); 
});