Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Devise @ Rails Summit 2009

Devise @ Rails Summit 2009

Lightning Talk releasing Devise.

Carlos Antonio

October 13, 2009
Tweet

More Decks by Carlos Antonio

Other Decks in Programming

Transcript

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

    View Slide

  2. View Slide

  3. Plataforma 2009
    Soluções Existentes

    View Slide

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

    View Slide

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

    View Slide

  6. Plataforma 2009
    Nossa proposta

    View Slide

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

    View Slide

  8. Plataforma 2009
    class User < ActiveRecord::Base
    devise :authenticable
    end

    View Slide

  9. Plataforma 2009
    class User < ActiveRecord::Base
    devise :confirmable
    end

    View Slide

  10. Plataforma 2009
    class User < ActiveRecord::Base
    devise :recoverable
    end

    View Slide

  11. Plataforma 2009
    class User < ActiveRecord::Base
    devise :validatable
    end

    View Slide

  12. Plataforma 2009
    class User < ActiveRecord::Base
    devise :all
    end

    View Slide

  13. Plataforma 2009
    ActionController::Routing::Routes.draw do |map|
    map.devise_for :users
    end

    View Slide

  14. Plataforma 2009
    ...tem mais coisa vindo

    View Slide

  15. Plataforma 2009
    Proteção contra Brute Force
    self.attempts_count = 10
    self.attempts_timeframe = 2.hours

    View Slide

  16. Plataforma 2009
    Remember me
    self.remember_me = 2.weeks

    View Slide

  17. Plataforma 2009
    Migratable
    create_table :users do |t|
    t.authenticable
    t.confirmable
    end

    View Slide

  18. Plataforma 2009
    Magic colums
    self.login_count
    self.last_request_at
    self.last_login_ip

    View Slide

  19. Plataforma 2009
    github.com/plataformatec/devise
    blog.plataformatec.com.br

    View Slide