Created
September 20, 2017 18:58
-
-
Save masterkitano/6f7ddfdbcf3610d86cb35ab82fe85914 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
configurar multiples autenticadores para usuario final y para administrador: | |
en archivo config/auth.php: | |
especificar los guards q se quieren usar, uno para cada tipo de acceso: | |
'web' => [ | |
'driver' => 'session', | |
'provider' => 'users', | |
], | |
'panel' => [ | |
'driver' => 'session', | |
'provider' => 'staff', | |
], | |
driver siempre es 'session' | |
provider será el nombre de cada provider a usar | |
especificar providers: | |
el nombre de los providers q se usaran en cada guard | |
driver siempre es 'eloquent' | |
model será el modelo q se usara para buscar el email y password al autenticar | |
'staff' => [ | |
'driver' => 'eloquent', | |
'model' => App\Staff::class, | |
], | |
'users' => [ | |
'driver' => 'eloquent', | |
'model' => App\Client::class, | |
], | |
de esta manera ligamos: | |
el modelo de la base de datos que será usado para autenticar con nuestro provider, y finalmente asociamos nuestro provider al guard, el guard será lo que usaremos al final para autenticar rutas y controllers. | |
para bloquear acceso a rutas: | |
usar middlewware auth, especificando el guard que se quiere usar | |
ej usamos guard de panel para autenticar con ese guard y su respectivo provider y modelo | |
(archivo routes.php) | |
Route::group(['middleware' => 'auth:panel'],function () | |
{ | |
} | |
para autenticar: | |
(archivo routes.php) | |
creamos nuestras rutas publicas para login y logout: | |
Route::post('login', 'nombreControlador@login'); | |
Route::post('logout', 'nombreControlador@logout'); | |
en nuestro controller: | |
usamos los métodos del middleware Auth: | |
check, atempt, y user pero con sus respectivos guards. | |
Auth::guard("panel")->check() | |
\Auth::guard("panel")->attempt(['email' => $user, 'password' => $password]); | |
$user = \Auth::guard("panel")->user(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment