English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Laravel 5.5Explicación detallada de cómo implementar el módulo Auth integrado para la autenticación de前台 y backend

Introducción

Este artículo introduce principalmente sobre Laravel 5.5Basado en el módulo integrado Auth, se implementan los contenidos de inicio de sesión de adelante y atrás, más información sobre el módulo Auth puede encontrarse en este artículo: https://es.oldtoolbag.com/article/121401.htm

No quiero perder tiempo en palabras, veamos una introducción detallada.

El método es el siguiente:

Pasos1:Generar Auth

Después de que se complete el proyecto, se generan los componentes integrados de Auth:

php artisan make:auth

Pasos2:Agregar guard

Abrir config\auth.php, para facilitar la transición entre usuarios delanteros y traseros, el proyecto comparte la tabla Users

'guards' => [
 //...
 'admin' => [
  'driver' => 'session',
  'provider' => 'users',
 ],
 //...
 ],

Pasos3:实现基类

class AdminController extends BaseController
{
 usar AuthorizesRequests, DispatchesJobs, ValidatesRequests;
 public function __construct()
 {
 $this->middleware('auth:admin');
 }
}

Pasos4:实现后台登录控制器

Crear appcontrollersAdminLoginController.php

<?php
namespace App\Http\Controllers\Admin;
usar App\Http\Controllers\Controller;
usar Illuminate\Support\Facades\Auth;
usar Illuminate\Foundation\Auth\AuthenticatesUsers;
usar Illuminate\Http\Request;
class LoginController extends Controller
{
 /*
 |--------------------------------------------------------------------------
 | Controlador de Inicio de Sesión
 |--------------------------------------------------------------------------
 |
 | Este controlador maneja la autenticación de usuarios para la aplicación y
 | redirigiéndolos a su pantalla de inicio. El controlador utiliza un trait
 | para proporcionar convenientemente su funcionalidad a sus aplicaciones.
 |
 */
 usar AuthenticatesUsers;
 /**
 * ¿Dónde redirigir a los usuarios después del inicio de sesión.
 *
 * @var string
 */
 protected $redirectTo = '/admin';
 /**
 * Crear una nueva instancia de controlador.
 *
 * @return void
 */
 public function __construct()
 {
 $this->middleware('guest:admin');->except('logout');
 }
 /**
 * Reescribe la página de inicio de sesión
 * @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View
 */
 public function showLoginForm()
 {
 return view('backend.login');
 }
 /**
 * Reescribe el método de salida
 * @param Request $request
 * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
 */
 public function logout(Request $request)
 {
 $this->guard();->logout();
 $request->session();->flush();
 $request->session();->regenerate();
 return redirect('/admin/login');
 }
 /**
 * Reescribe la autenticación guard
 * @return mixed
 */
 protected function guard()
 {
 return Auth::guard('admin');
 }
}

Pasos5:Realizar la redirección a diferentes rutas después del inicio de sesión

app\Middleware\RedirectIfAuthenticated.php

public function handle($request, Closure $next, $guard = null)
{
 if (Auth::guard($guard)->check()) {
  $path = $guard ? '/admin' : '/home';
  return redirect($path);
 }
 return $next($request);
}

Pasos6:Realizar la redirección a diferentes páginas de inicio de sesión si no se ha pasado la autenticación

app\Exceptions\Handler.php

/**
 * Reescribe la implementación para que el usuario no autenticado se redirija a la página de inicio de sesión correspondiente
 * @param \Illuminate\Http\Request $request
 * @param AuthenticationException $exception
 * @return \Illuminate\Http\JsonResponse|\Illuminate\Http\RedirectResponse
 */
 protected function unauthenticated($request, AuthenticationException $exception)
 {
 if($request->expectsJson()){
  return response()->json(['message' => $exception->getMessage()], 401);
 }else{
  return in_array('admin', $exception->guards()) ? return redirect()->guest('/admin/login') : redirect()->guest('login');
 }
 }

Completar

Resumen

Esto es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierta valoración de referencia para su aprendizaje o trabajo. Si tienen alguna pregunta, pueden dejar comentarios para intercambiar. Gracias por su apoyo a la guía de alarido.

Declaración: El contenido de este artículo se ha obtenido de la red, y los derechos de autor pertenecen al propietario original. El contenido ha sido contribuido y subido por usuarios de Internet de manera autónoma. Este sitio no posee los derechos de propiedad, no ha sido editado por humanos y no asume ninguna responsabilidad legal relacionada. Si encuentra contenido sospechoso de infracción de derechos de autor, por favor envíe un correo electrónico a: notice#oldtoolbag.com (al enviar un correo electrónico, por favor reemplace # con @) para denunciar, y proporcione evidencia relevante. Una vez confirmado, este sitio eliminará inmediatamente el contenido sospechoso de infracción.

Te gustará