Gestión de autorizaciones y autentificaciones en RoR 1


Una de las mejores cosas que tiene “Rails” es lo sencillo que es gestionar todas las autorizaciones y la autentificación de los usuarios además de la razonable cantidad de “plugins” ya escritos. En cierta manera, aunque pueda parecer muy restrictivo sería genial que estuviese contenido ya dentro del mismo “framework” como un gestor de usuarios, roles y grupos.

De cualquier manera existe ya un plugin denominado RESTful Authenticated (versión nueva del Act_as_Authenticated) que nos ahorra mucho trabajo y que fácilmente podemos adaptar para administrar el resto del sistema de autorizaciones y autenticación.

1.Obviamente lo primero que hemos de hacer será instalar el plugin “RESTful authentication” en nuestra aplicación, se trata de un paso sencillo.

2.- Autentificación del Usuario:

RESTful authentication” es un generador que nos va permitir crear el modelo y el controlador que va a realizar la gestión de la autentificación del usuario.

ruby script/generate authenticated user account
rake db:migrate
Si estamos utilizando RadRails, iremos a la pestaña de Generators una vez bajado e instalado el plugin, y introduciremos “authenticated” dem
‘user’ es el nombre del modelo que vamos a utilizar para guardar los datos de autentificación del usuario, además creamos el nombre del controlador que va a gestionar la autentificación en este caso vamos a llamarlo ‘account’, pero podemos llamarlo ‘cuenta’,’acceso’ o el nombre que le queramos dar.

./script/generate authenticated <usermodelname> <controllername>

./script/generate authenticated user sessions

Esto no creara un modelo ‘user’ o ‘usuario’ y un controlador que se denominara ‘account’ en que luego entraremos a para adaptarlo a nuestro intereses

./script/generate authenticated user account \–include-activation

Mediante el generador se crearan automáticamente los siguientes recursos:

exists app/models/
exists app/controllers/
exists app/controllers/
exists app/helpers/
create app/views/account
exists app/controllers/
exists app/helpers/
create app/views/users
exists test/functional/
exists test/functional/
exists test/unit/
create app/models/user.rb
create app/controllers/account_controller.rb
create app/controllers/users_controller.rb
create lib/authenticated_system.rb
create lib/authenticated_test_helper.rb
create test/functional/account_controller_test.rb
create app/views/users/new.rhtml
create test/functional/users_controller_test.rb
create test/unit/user_test.rb
create test/fixtures/users.yml
create app/helpers/account_helper.rb
create app/helpers/users_helper.rb
create app/views/account/new.rhtml

Si se utiliza el textmate existe un bundle especifico dentro del textmate que permite la instalación de plugins.


One thought on “Gestión de autorizaciones y autentificaciones en RoR

Comments are closed.