Estoy tratando de autenticar a los usuarios y la tabla de formularios de administraciónuser y la admintabla respectivamente. Estoy usando el Usermodelo provisto por laravel fuera de la caja y creé el mismo porque Admin.he agregado una clave de protección y una clave de proveedor enauth.php.
Guardias
'guards' => [
'user' =>[
'driver' => 'session',
'provider' => 'user',
],
'admin' => [
'driver' => 'session',
'provider' => 'admin',
],
],
Proveedores
'providers' => [
'user' => [
'driver' => 'eloquent',
'model' => App\User::class,
],
'admin' => [
'driver' => 'eloquent',
'model' => App\Admin::class,
]
],
Rutas
Route::group(['middleware' => ['web']], function () {
// Login Routes.
Route::get('/admin/login','AdminAuth\AuthController@showLoginForm');
Route::post('/admin/login','AdminAuth\AuthController@login');
Route::get('/admin/logout','AdminAuth\AuthController@logout');
// Registration Routes.
Route::get('admin/register', 'AdminAuth\AuthController@showRegistrationForm');
Route::post('admin/register', 'AdminAuth\AuthController@register');
Route::get('/admin', 'AdminController@index');
});
He creado un directorio llamado AuthAdmindonde están presentes el valor predeterminado de Laravel AuthController.phpy los PasswordController.phparchivos. (Espacio de nombres modificado en consecuencia)
En primer lugar, en los documentos de Laravel se menciona que cómo especificar la protección personalizada mientras se autentica de esta manera, lo que no funciona.

Hay otro método mencionado en los documentos de Laravel para usar un guardia que tampoco funciona.
Sería beneficioso si alguien pudiera resolver los problemas y corregirme si me equivoco.
fuente


protected $guard = 'guard_name'Se puede usar ahora.Respuestas:
Después de muchas excavaciones y muchas preguntas y respuestas, finalmente logré trabajar Laravel 5.2 Multi Auth con dos tablas, así que estoy escribiendo Respuesta de mi propia pregunta.
Cómo implementar Multi Auth en Larvel 5.2
Como se ha mencionado más arriba. Dos mesa
adminyusersLaravel 5.2 tiene un nuevo
artisancomando.php artisan make:authgenerará conectar / registrarse básica
route,viewycontrollerdeusermesa.Haga una
admintabla comouserstabla para simplificar.Controller For Admin
app/Http/Controllers/AdminAuth/AuthControllerapp/Http/Controllers/AdminAuth/PasswordController(nota: acabo de copiar estos archivos desde
app/Http/Controllers/Auth/AuthControlleraquí)config/auth.phproute.phpAdminAuth/AuthController.phpAgregue dos métodos y especifique
$redirectToy$guardte ayudará a abrir otro formulario de inicio de sesión para administrador
creando un middleware para
admin}
registrar middleware en
kernel.phpuse este middleware en
AdminController, por ejemplo,Todo eso es necesario para que funcione y también para obtener json de uso de administrador autenticado
Auth::guard('admin')->user()Editar - 1
Podemos acceder al usuario autenticado directamente usando,
Auth::user()pero si tiene dos tablas de autenticación, entonces debe usarpara cerrar sesión
para el usuario autenticado json
Editar 2
Ahora puede descargar el proyecto implementado Laravel 5.2 Multiauth http://imrealashu.in/code/laravel/multi-auth-with-laravel-5-2-2/
fuente
if (Auth :: guard ($ guard) -> check ()) { return redirect ('/'); }después del cambio:if (Auth :: guard ('yourcustomguard') -> check () || Auth :: check ()) { return redirect ('/'); }En caso de que esto ayude a alguien, y esto puede deberse a mi falta de comprensión del middleware, esto es lo que tuve que hacer para que esto funcionara (además de los pasos tomados por @imrealashu) ...
En
route.php:Esto está en el
webgrupo de middleware. Antes de esto, intenté ponerlo en unadmingrupo de middleware separado e incluso en unauth:admingrupo, pero esto no funcionó, solo funcionó para mí cuando especifiqué el middleware como administrador en la ruta misma. No tengo idea de por qué esto es así, pero espero que evite que otros se quiten el cabello como lo hice yo.fuente
Route::group(['middleware' => ['admin']], function () { //Admin Routes... });porque no me funcionaEs muy fácil en laravel 5.6. Simplemente vaya
config/auth.phpy agregue esta línea en laprovidersmatriz:Tenga en cuenta que utilizamos
databasepara el controlador noeloquent.Ahora agregue esto a la
guardsmatriz:Ahora hemos terminado! Use esto cuando trabaje con la tabla de administradores:
Salud.
fuente