devise @ rails summit 2009 - 2009.10.13

19
Plataforma 2009 Autenticação flexível com Devise http://github.com/plataformatec/devise

Upload: carlos-antonio-da-silva

Post on 04-Jul-2015

247 views

Category:

Technology


1 download

DESCRIPTION

Devise presentation at Rails Summit 2009.

TRANSCRIPT

Page 1: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Autenticação flexível com Devise

http://github.com/plataformatec/devise

Page 2: devise @ rails summit 2009 - 2009.10.13
Page 3: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Soluções Existentes

Page 4: devise @ rails summit 2009 - 2009.10.13

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

Page 5: devise @ rails summit 2009 - 2009.10.13

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

Page 6: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Nossa proposta

Page 7: devise @ rails summit 2009 - 2009.10.13

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

Page 8: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

class User < ActiveRecord::Base devise :authenticableend

Page 9: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

class User < ActiveRecord::Base devise :confirmableend

Page 10: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

class User < ActiveRecord::Base devise :recoverableend

Page 11: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

class User < ActiveRecord::Base devise :validatableend

Page 12: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

class User < ActiveRecord::Base devise :allend

Page 13: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

ActionController::Routing::Routes.draw do |map| map.devise_for :usersend

Page 14: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

...tem mais coisa vindo

Page 15: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Proteção contra Brute Force

self.attempts_count = 10self.attempts_timeframe = 2.hours

Page 16: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Remember me

self.remember_me = 2.weeks

Page 17: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Migratable

create_table :users do |t| t.authenticable t.confirmableend

Page 18: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

Magic colums

self.login_countself.last_request_atself.last_login_ip

Page 19: devise @ rails summit 2009 - 2009.10.13

Plataforma 2009

github.com/plataformatec/devise

blog.plataformatec.com.br