La autenticación del usuario es parte de casi todas las aplicaciones web. Aunque es común, una mirada más profunda muestra que no es tan simple como parece. Recuerde que la validación, la recuperación de la contraseña y la confirmación por correo electrónico son vitales para cualquier formulario de autenticación decente.
Confide es una solución de autenticación para Laravel diseñada para reducir el trabajo repetitivo que implica la administración de usuarios. Es un enfoque DRY en funciones como creación de cuenta, inicio de sesión, cierre de sesión, confirmación por correo electrónico, restablecimiento de contraseña, etc..
Desde las primeras versiones, Confide siempre tuvo una buena adopción entre los desarrolladores y una amplia presencia en los proyectos de Laravel. Con una actualización reciente, el paquete ahora es compatible con Laravel 4.2, que es la última versión estable de Laravel en el momento de escribir este artículo..
En este tutorial, comenzaremos desde el principio creando nuestra aplicación Laravel usando Composer y luego:
En primer lugar, vamos a crear la aplicación usando Composer..
$ composer create-project laravel / laravel myapp
Ahora, dentro del directorio del proyecto, edita el exigir
clave de compositor.json
presentar e incluir la entrada de confianza:
"require": "laravel / framework": "~ 4.2", "zizaco / confide": "~4.0@dev",
Luego ejecute la actualización del compositor en nuestra nueva dependencia:
$ actualización del compositor zizaco / confide
En config / app.php
de nuestro proyecto, añadir 'Zizaco \ Confide \ ServiceProvider'
hasta el final de la matriz de proveedores:
... 'proveedores' => array ('Illuminate \ Foundation \ Providers \ ArtisanServiceProvider', 'Illuminate \ Auth \ AuthServiceProvider', ... 'Zizaco \ Confide \ ServiceProvider',), ...
También agrega 'Confide' => 'Zizaco \ Confide \ Facade'
a la matriz de alias en el mismo archivo:
... 'aliases' => array ('App' => 'Illuminate \ Support \ Facades \ App', 'Artisan' => 'Illuminate \ Support \ Facades \ Artisan', ... 'Confide' => 'Zizaco \ Confide \ Facade ',),
Selecciona el dirección
y nombre
en config / mail.php
. Esta configuración se utilizará para enviar correos electrónicos de confirmación de cuenta y restablecimiento de contraseña a los usuarios. Para este tutorial, puedes usar tu servidor SMTP personal para que las cosas funcionen
Por ejemplo, si usas Gmail puedes hacer lo siguiente:
'driver' => 'smtp', 'host' => 'smtp.gmail.com', // Para propósitos de prueba 'from' => array ('address' => '[email protected]', 'name' => 'MyApp'), ... 'username' => '[email protected]', 'password' => ',...
Ahora genere las migraciones de Confide ejecutando:
$ php artisan confide: migración $ php artesano migrate
Esto configurará una tabla que contiene correo electrónico
, contraseña
, recordatorio
, código de confirmación
y confirmado
columnas Estos son los campos predeterminados necesarios para Confide. Siéntase libre de agregar más columnas a la tabla más adelante.
Reemplace todo el código en app / models / User.php
a:
Zizaco \ Confide \ ConfideUser
El rasgo se hará cargo de la mayoría de los comportamientos del modelo de usuario..Controlador de Usuarios y Rutas
Confide contiene una herramienta generadora que creará un controlador y escribirá las rutas para nosotros. Para crear el
Controlador de usuarios
y para registrar las rutas vamos a ejecutar estos comandos:$ php artisan confide: controlador $ php artisan confide: rutasComo se han creado nuevas clases, necesitaremos actualizar los archivos de carga automática..
$ compositor dump-autoloadListo para usar
¡Hemos terminado! Nuestra aplicación ahora tiene todas las características que ofrece Confide. Ejecuta el servidor de aplicaciones llamando
servicio php artesanal
en la terminal.El seguimiento
OBTENER
Las rutas están disponibles en nuestra aplicación:http: // localhost: 8000 / users / create http: // localhost: 8000 / users / login http: // localhost: 8000 / users / forgot_passwordPara acceder al usuario actual podemos llamar
Confide :: usuario ()
. Por lo tanto, para mostrar el nombre del usuario actual necesitamos reemplazar el contenido deapp / views / hello.php
con:
Autenticación del usuario con Confide Hola confiar
Hola
Ahora sigue adelante y accede
http: // localhost: 8000 / users / create
Para crear nuestro primer usuario. Recibirá un correo electrónico de confirmación justo después de enviar el formulario. (si has llenado elconfig / mail.php
con los valores correctos). Inicia sesión y verás el nombre de usuario en la pantalla..Mejora de visuales
Las formas predeterminadas de Confide son compatibles con Bootstrap. Así que no te dejes intimidar por la "fealdad" de ellos en una página sin ningún CSS. Editar el controlador generado por Confide (
UserController.php
) y actualice el método de creación para:De esta forma nuestra aplicación hará que la vista.
usuarios.signup
. Vamos a crear esta vista enaplicación / vistas / usuarios
comosignup.blade.php
Con el siguiente contenido:Autenticación del usuario con Confide Importa bootstrap de twitter y configura algunos estilosRegístrate
Representa el formulario de registro de Confide Confide :: makeSignupForm () -> render ();Después de esto, tendremos un resultado mucho más elegante en el formulario de creación de usuario en
http: // localhost: 8000 / usuario / crear
:No tiene que usar los formularios generados por Confide. Puede crear su propia vista que envía datos a
ENVIAR
rutas.Restricción de acceso
Abierto
app / route.php
y agregue el siguiente código al final del archivo:// Dashboard route Route :: get ('userpanel / dashboard', function () return View :: make ('userpanel.dashboard');); // Aplica el filtro de autenticación a las rutas dentro de admin / Route :: when ('userpanel / *', 'auth');Crear el archivo de vista
app / views / userpanel / dashboard.blade.php
:Autenticación del usuario con Confide Importa bootstrap de twitter y configura algunos estilosConfide :: usuario () -> nombre de usuario
correo electrónico: Confide :: user () -> emailAhora que hemos aplicado el filtro a todas las rutas dentro de
panel de usuario
. Necesitaremos un pequeño ajuste para asegurarnos de queautenticación
El filtro redirigirá al usuario a la URL de inicio de sesión correcta. Editarapp / filters.php
en linea 46 para reemplazarreturn Redirect :: guest ('login');
con:... volver Redirect :: guest ('usuarios / inicio de sesión'); ...Hecho eso, el
panel de usuario / panel de control
La página solo estará disponible para los usuarios que hayan iniciado sesión en la aplicación. El filtro redirigirá a los usuarios invitados al formulario de inicio de sesión y luego volverá al panel una vez que hayan iniciado sesión.Conclusión
Es posible observar que pudimos configurar rápidamente la autenticación de usuario para nuestra aplicación. Además, el controlador generado, la migración y las rutas se pueden editar para personalizar cómo manejaremos cada detalle.
No nos hemos centrado mucho en el
ConfideUser
rasgo, pero creo que es importante aclarar las cosas. Una vez que tu modelo usa elConfideUser
rasgo, no necesita preocuparse por implementar la lógica básica. Al mismo tiempo, todavía puede sobrescribir los métodos y personalizarlos, si es necesario.Podemos decir que Confide es un enfoque SECO para la autenticación de usuarios. Ofrece la comodidad de tener la funcionalidad lista para usar y, a la vez, permite una alta personalización..
Echa un vistazo a Confiar en GitHub. Si tuvo algún problema al seguir este tutorial, no dude en contactarme.