Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Yii

Cómo programar con Yii2: Integración de registro de usuario

by
Read Time:7 minsLanguages:
This post is part of a series called How to Program With Yii2.
How to Program With Yii2: Working With the Database and Active Record
How to Program With Yii2: Localization With I18n

Spanish (Español) translation by Elías Nicolás (you can also view the original English article)

Final product imageFinal product imageFinal product image
What You'll Be Creating

Si te preguntas, "¿Qué es Yii?", Echa un vistazo a mi tutorial anterior: Introducción al Framework Yii, que revisa los beneficios de Yii e incluye una visión general de lo que es nuevo en Yii 2.0, lanzado el 12 de octubre de 2014.

Esta es la cuarta parte de una serie sobre Yii2. En la programando con Yii2: Primeros pasos, configuramos Yii2 localmente, construimos una aplicación Hello World, configuramos un servidor remoto y usamos Github para desplegar nuestro código. En la segunda parte, aprendimos sobre la implementación de Yii de su arquitectura Model View Controller y cómo construir páginas web y formularios que recopilen y validen datos. En la parte tres, aprendimos a trabajar con bases de datos y ActiveRecord. En este tutorial, le guiaremos a través de la integración de un popular complemento de registro de usuario.

Para estos ejemplos, continuaremos construyendo nuestra aplicación hola disponible en el repositorio Tuts+ para que pueda seguirlo.

Registro de usuario para su aplicación web

Casi cualquier aplicación web de cualquier utilidad requiere alguna forma de registro de usuario. Yii proporciona un par de maneras de acercarse al registro de usuarios, ambos relativamente sencillos. Esta es una de las cosas que me gusta sobre el uso de Yii sobre PHP— en momentos, puedo tener un marco de aplicaciones web completamente equipado listo para construir cosas interesantes.

Hay pocas razones para reconstruir la rueda y codificar la autenticación del usuario y sus muchos requisitos y características corolario desde cero, p. Envío de correos electrónicos y autenticación para la verificación de registro, recuperación de contraseñas, autenticación social de terceros, et al.

La plantilla de aplicación avanzada Yii2 proporciona un registro de usuario incorporado; Estamos utilizando este enfoque en la serie Construyendo su startup. Sin embargo, en esta serie, hemos estado construyendo sobre la plantilla de aplicación básica de Yii2. La plantilla de aplicación básica predeterminada incluye el inicio de sesión de usuario estatico, lo cual no es muy útil.

Yii2 Basic Application Template Static LoginYii2 Basic Application Template Static LoginYii2 Basic Application Template Static Login

Otro enfoque para el registro de usuarios es el uso de extensiones de terceros. Para este tutorial, te acompañaré con la extensión Yii2-User de Dmitry Erofeev. La documentación de Yii2-User está disponible aquí. Erofeev está construyendo otros complementos para Yii2 también.

Dektriums Yii2-User DocumentationDektriums Yii2-User DocumentationDektriums Yii2-User Documentation

Instalación de Yii2-User

Comencemos a instalar la extensión Yii2-User. Seguiremos las instrucciones de instalación.

Instalación de Yii2-User con Composer

Primero, tenemos que añadir Yii2-User a las extensiones requeridas en composer. Edite el archivo /composer.json para incluir Yii2-User:

Entonces, cuando actualizamos el compositor, verás algo como esto:

Actualizar la base de datos

A continuación, ejecutamos la migración de la base de datos para Yii2-User. Esto crea las tablas de base de datos que requiere la extensión. Éstos administrarán cuentas de usuario y credenciales.

Actualizar el archivo de configuración

A continuación, necesitamos decirle a Yii que use el componente Yii2-User. En /config/web.php, reemplazamos el componente de usuario predeterminado ...

... con el componente Yii2-User:

Activar el SwiftMailer

Dado que Yii2-User usa correo electrónico para enviar confirmaciones de registro y contraseñas olvidadas, es hora de activar nuestra configuración de SwiftMailer. En config / web.php, reemplace la configuración predeterminada de Mailer aquí...

... con esto—tendrás que incluir tus propias credenciales SMTP:

Integración de Yii2-User

Ahora, necesitamos vincular nuestra barra de navegación a las rutas del controlador Yii2-User. En /views/layouts/main.php, actualizamos la definición de matriz de barra de navegación para el menú Bootstrap. Reemplazar la barra de navegación actual ...

... con la siguiente definición en array:

Vuelva a cargar la aplicación y haga clic en el enlace Sign Up en la barra de navegación. Debería ver algo como esto:

Yii2-User Sign Up PageYii2-User Sign Up PageYii2-User Sign Up Page

Al hacer clic en Sign Up, verá la notificación de confirmación. Esto nos indica que se ha enviado un correo electrónico al que debemos hacer clic para verificar nuestro registro.

Yii2-User Sign Up Confirmation NoticeYii2-User Sign Up Confirmation NoticeYii2-User Sign Up Confirmation Notice

Recibirás un correo electrónico como éste:

Yii2-User Confirmation EmailYii2-User Confirmation EmailYii2-User Confirmation Email

Haz clic en el enlace del correo electrónico y verás algo como esto:

Yii2-User Sign Up ConfirmationYii2-User Sign Up ConfirmationYii2-User Sign Up Confirmation

Observe el estado de inicio de sesión mantenido por Yii2 y el componente Yii2-User—que se muestra en la barra de navegación anterior. Haga clic en Logout y vaya a través de la página de inicio de sesión:

Yii2-User Sign In FormYii2-User Sign In FormYii2-User Sign In Form

Yii2-User también incluye recuperación de contraseña:

Yii2-User Forgot Your PasswordYii2-User Forgot Your PasswordYii2-User Forgot Your Password

Al igual que eso, tenemos un componente de autenticación de núcleo enormemente importante para nuestra aplicación.

Yii2-User también tiene una serie de características de configuración que puede explorar más por su cuenta, p. Autenticación social de terceros. Probablemente regresemos a ellos en un tutorial posterior.

¿Que sigue?

Espero que haya encontrado esto útil para su propia aplicación web Yii2. Si quieres saber cuándo llega el próximo tutorial de Yii2, sígueme @reifman en Twitter o visita mi página de instructor. Mi página de instructor incluirá todos los artículos de esta serie tan pronto como se publiquen.

Enlaces relacionados

Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.