devise @ rails summit 2009 - 2009.10.13
DESCRIPTION
Devise presentation at Rails Summit 2009.TRANSCRIPT
Plataforma 2009
Autenticação flexível com Devise
http://github.com/plataformatec/devise
Plataforma 2009
Soluções Existentes
Plataforma 2009
Clearance
• Pontos positivos– Estrutura completa, como engine (MVC)– Confirmação de conta– Recuperação de senha
• Pontos negativos– Pouco flexível (apenas model User)– Não modularizado
Plataforma 2009
Authlogic
• Pontos positivos– Modelo bem flexível– Criptografia– Magic columns
• Pontos negativos– Não é solução completa (MVC) como o Clearance– Trata a sessão como modelo
Plataforma 2009
Nossa proposta
Plataforma 2009
Devise
• Pontos positivos– Rack based (via Warden): Rails, Metal, Sinatra– Solução completa (MVC), como engine– Múltiplos roles (logar como admin, user, ...)– Modular e flexível
• Pontos negativos– Pouca base instalada– Menos de 10 watchers no github
Plataforma 2009
class User < ActiveRecord::Base devise :authenticableend
Plataforma 2009
class User < ActiveRecord::Base devise :confirmableend
Plataforma 2009
class User < ActiveRecord::Base devise :recoverableend
Plataforma 2009
class User < ActiveRecord::Base devise :validatableend
Plataforma 2009
class User < ActiveRecord::Base devise :allend
Plataforma 2009
ActionController::Routing::Routes.draw do |map| map.devise_for :usersend
Plataforma 2009
...tem mais coisa vindo
Plataforma 2009
Proteção contra Brute Force
self.attempts_count = 10self.attempts_timeframe = 2.hours
Plataforma 2009
Remember me
self.remember_me = 2.weeks
Plataforma 2009
Migratable
create_table :users do |t| t.authenticable t.confirmableend
Plataforma 2009
Magic colums
self.login_countself.last_request_atself.last_login_ip
Plataforma 2009
github.com/plataformatec/devise
blog.plataformatec.com.br