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

Autenticación en Rails Usando Clearance

Difficulty:BeginnerLength:ShortLanguages:

Spanish (Español) translation by Rafael Chavarría (you can also view the original English article)

Clearance es un simple sistema de autenticación con email y contraseña construido por el equipo en Thoughtbot. Tiene valores defectuosos pero está pensado para ser fácil de anular. El sistema es mantenido activamente, y puedes dar seguimiento en GitHub.

En este tutorial, verás cómo integrar Clearance en una aplicación Rails. Haremos uso de una aplicación miniatura. ¡Comencemos!

Comenzando

Comenzarás usando tu aplicación Rails. Para el propósito de este tutorial, la nombraré tutplus-clearance.

Eso hará la magia.

Necesitarás bootstrap para hacer que tu aplicación se vea bien. Agrega el gem de Bootstrap a tu Gemfile.

Instala el gem ejecutando bundle install.

Ahora modifica application.scss para lucir así:

Configuración Clearance

Abre tu Gemfile para agregar el gem Clearance.

Ahora instala el gem.

bundle install

En este punto, ejecuta el comando generador para instalar clearance.

rails generate clearance:install

Esto generará algunas salidas en tu terminal, lo que luce como lo que tengo abajo:

Cuando corras el comando, un par de archivos fueron generados en tu aplicación. Uno de esos archivos es clearance.rb, que puedes encontrar en el directorio config/initializers. Un modelo User también fue generado, y junto con eso también tienes un archivo de migración que luce como esto:

De acuerdo a la salida, la primera cosa que quieres hacer es editar tu entorno de configuración. Para hacer eso, navega a config/environments/development.rb y agrega la línea de abajo, justo arriba del delimitador end.

Después, navega a config/initializers/clearance.rb para editarlo, y después cuando estés ahí, cambia la dirección de email del remitente del valor por defecto a cualquiera de tu elección. Esto es lo que verás cuando abras el archivo.

Puedes anular la configuración por defecto pegando el siguiente pedazo de código y configurándolo a tus requerimientos.

Ejecuta el comando para migrar tu base de datos.

rake db:migrate

Abre tu PagesController y agrega una acción index.

Después, crea una vista para la acción index que acabas de crear.

Agrega el pedazo de código de abajo:

Edita tus rutas a:

Crea un parcial llamado _navigation.html.erb dentro del directorio layouts. Este será usado para manejar todo lo que tenga que ver con navegación en tu aplicación.

Pega el siguiente código y guarda.

Acceso Restringido

Con Clearance, puedes crear acceso restringido a páginas específicas de tu elección en tu aplicación. Veamos cómo se hace.

Crea una vista para una acción new en app/views/pages, el nombre del archivo debe ser new.html.erb. Pega el código de abajo.

Ahora necesitas agregar la línea de abajo a config/routes.rb.

Finalmente, ve a tu PagesController y hazlo como lo que tengo abajo.

En el código de arriba, estamos haciendo uso del ayudante Clearance, require_login, para restringir acceso a la acción new. Para ver como funciona, comienza tu servidor rails ejecutando rails server desde tu terminal. Apunta a tu navegador a http://locahost:3000/pages/new y debería redirigirte a la página de inicio de sesión.

Clearance también proporciona restricciones de ruteo que pueden ser usadas para control de acceso.

En el código de arriba, una ruta diferente ha sido creada para usuario autenticados.

Anulando Los Valores por Defecto de Clearance

Muchas cosas sucedes tras bambalinas cuando comienzas a usar Clearance, cosas que no puedes ver. Podría haber un tiempo cuando quieres personalizar cosas de manera diferente, dependiendo de la especificación de tu aplicación. Clearance te permite anular la configuración por defecto con la que viene.

Para anular (o generar) rutas Clearance, ejecuta este comando desde tu terminal.

rails generate clearance:routes

Tu archivo de rutas debería lucir como esto:

El comando también establecerá el ajuste config.routes a false en tu archivo config/initializers/clearance.rb. Esto significa que el archivo personalizado que ha sido generado será usado.

Para generar vistas para modificación, ejecuta:

rails generate clearance:views

Algunos de los archivos que serán generados incluyen:

Verás un diálogo en tu terminal pidiendo sobrescribir tu archivo app/views/layouts/application.html.erb. Elige la opción que quieras.

Diseños

Por defecto, Clearance usa el diseño por defecto de tu aplicación. Si quisieras cambiar el diseño que usa Clearance cuando genera sus vistas, simplemente especifica el diseño en un inicializador.

Métodos Helper

Clearance te proporciona métodos helper que pueden ser usados en tus controllers, views, y helpers. Estos métodos incluyen signed_in?signed_out?, y current_user

Conclusión

Clearance tiene mucho que ofrecer cuando se trata de autenticación, así que asegúrate de probarlo en tu siguiente proyecto. Puedes aprender más revisando la página GitHub.

Advertisement
Advertisement
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.