Вы находитесь на странице: 1из 17

EPE DESARROLLO PARA ENTORNO WEB

Unidad 3 | Capa de Lógica de Negocio

CARACTERÍSTICAS & GEMAS


LOGRO
Al finalizar la unidad el alumno
desarrolla la capa de negocio de una
aplicación Web.
AGENDA
AUTENTICACIÓN & ROLES
ADMIN
AGENDA
AUTENTICACIÓN & ROLES
ADMIN
DEVISE
https://github.com/plataformatec/devise

FeatureSet para autenticación.

Almacenamiento en BD.
Integración con Omniauth.
Email de confirmación.
Reset de password.
Registro de usuarios.
Sesiones.
Timeout
Bloqueo por intentos fallidos.
DEVISE
# En Gemfile
gem 'devise'

$ rails g devise: install


$ rails g devise <Model>
$ rails g devise User
$ rake db:migrate

# En config/environments/development.rb
config.action_mailer.default_url_options = { host: 'localhost',
port: 3000 }

# verificar rutas adicionadas


$ rake routes
DEVISE | FILTERS & HELPERS
# Adicionar validación de autenticación
# a controladora
before_action :authenticate_user!
# Consultar si un usuario ha iniciado sesión
user_signed_in?
# usuario actual con sesión iniciada
current_user
# sesión del usuario actual
user_session
DEVISE | ROUTE PATHS
<%= link_to 'Sign in', new_user_session_path %>
<%= link_to 'Sign out', destroy_user_session_path, method: :delete %
>
<%= link_to 'Sign up', new_user_registration_path %>
<%= link_to 'Update registration', edit_user_registration_path %>
DEVISE | MODELOS
# En el modelo
devise :database_authenticatable,
:registerable, :confirmable,
:recoverable, stretches: 20
DEVISE | CUSTOM VIEWS
$ rails g devise:views
AGENDA
AUTENTICACIÓN & ROLES
ADMIN
ADMIN
Rails Admin
Active Admin
RAILS_ADMIN
https://github.com/sferik/rails_admin

# En Gemfile
gem 'rails_admin'

$ bundle
$ rails g rails_admin:install
RAILS_ADMIN | CONFIGURACIÓN
RailsAdmin.config do |config|
# Devise integration
config.authenticate_with do
warden.authenticate! scope: :user
end
config.current_user_method(&:current_user)

# Custom title
# One alternative
config.main_app_name = ["Cool app", "BackOffice"]
# or something more dynamic
config.main_app_name = Proc.new { |controller| [ "Cool app",
"BackOffice - #{controller.params[:action].try(:titleize)}" ] }
end
ACTIVEADMIN
https://github.com/activeadmin/activeadmin

# En Gemfile
gem 'activeadmin', github: 'activeadmin'

# Luego de bundle

# Crea la clase AdminUser


rails g active_admin:install
ó
# crea / edita la clase a usar con Devise
rails g active_admin:install User
ó
# No realiza los pasos de Devise install
rails g active_admin:install --skip-users
AGENDA
AUTENTICACIÓN & ROLES
ADMIN
REFERENCIAS
https://www.railstutorial.org
http://guides.rubyonrails.org

Вам также может понравиться