SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
Autenticação flexível com
           Devise



http://github.com/plataformatec/devise
                                  Plataforma 2009
devise @ rails summit 2009 - 2009.10.13
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 :authenticable
end




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




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




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




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




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




                                        Plataforma 2009
...tem mais coisa vindo




                  Plataforma 2009
Proteção contra Brute Force


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




                                    Plataforma 2009
Remember me


self.remember_me = 2.weeks




                             Plataforma 2009
Migratable

create_table :users do |t|
 t.authenticable
 t.confirmable
end



                             Plataforma 2009
Magic colums

 self.login_count
 self.last_request_at
 self.last_login_ip




                        Plataforma 2009
github.com/plataformatec/devise

   blog.plataformatec.com.br



                          Plataforma 2009

Mais conteúdo relacionado

Semelhante a devise @ rails summit 2009 - 2009.10.13

Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grandeLuã de Souza
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013Giovanni Bassi
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Alexandre Tarifa
 
Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?akamud
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...Rogério Moraes de Carvalho
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - MackenzieRenato Groff
 
Single-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends
Single-SPA: Como este framework pode me ajudar na construção de Micro Front-EndsSingle-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends
Single-SPA: Como este framework pode me ajudar na construção de Micro Front-EndsDaiana Cambruzzi Avila
 
Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsBruno Borges
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorAllyson Barros
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...tdc-globalcode
 
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceVMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceLeandro Magnabosco
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsWaldyr Felix
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...Renato Groff
 
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Renato Groff
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoLorival Smolski Chapuis
 
Curso Intensivo de N8N
Curso Intensivo de N8NCurso Intensivo de N8N
Curso Intensivo de N8NAutotic
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaSandro Andrade
 

Semelhante a devise @ rails summit 2009 - 2009.10.13 (20)

Symfony - PHP pra gente grande
Symfony - PHP pra gente grandeSymfony - PHP pra gente grande
Symfony - PHP pra gente grande
 
TypeScript - Campus party 2013
TypeScript - Campus party 2013TypeScript - Campus party 2013
TypeScript - Campus party 2013
 
Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010Dev401 novos recursos do microsoft visual basic 2010
Dev401 novos recursos do microsoft visual basic 2010
 
Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?Publiquei meu site e não funcionou, e agora?
Publiquei meu site e não funcionou, e agora?
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
A evolução e o futuro da linguagem C# (1.0, 2.0, 3.0, 4 e 5) - Virtual Develo...
 
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
.NET: passado, presente e futuro | Semana FCI 2020 - Mackenzie
 
BDD-NamoroOn
BDD-NamoroOnBDD-NamoroOn
BDD-NamoroOn
 
Single-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends
Single-SPA: Como este framework pode me ajudar na construção de Micro Front-EndsSingle-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends
Single-SPA: Como este framework pode me ajudar na construção de Micro Front-Ends
 
Twitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration PatternsTwitter, Apache Camel e Enterprise Integration Patterns
Twitter, Apache Camel e Enterprise Integration Patterns
 
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem DorPlay Framework - Desenvolvendo Aplicações Web com Java sem Dor
Play Framework - Desenvolvendo Aplicações Web com Java sem Dor
 
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
TDC2018FLN | Trilha Arquitetura - Elixir Umbrella - Aplicacoes desacopladas s...
 
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion ToleranceVMFIT - Virtual Machine-based Fault and Intrusion Tolerance
VMFIT - Virtual Machine-based Fault and Intrusion Tolerance
 
ECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.jsECMAScript 6 / ECMAScript 2015 no Node.js
ECMAScript 6 / ECMAScript 2015 no Node.js
 
Tc aula 07
Tc aula 07Tc aula 07
Tc aula 07
 
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
A evolução da plataforma .NET: passado, presente e futuro | Baixada NERD - No...
 
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
Cloud Solutions com Microsoft Azure - Azure Talks - Novembro-2019
 
DotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - IntroduçãoDotNet Framework e Orientação a Objetos 1 - Introdução
DotNet Framework e Orientação a Objetos 1 - Introdução
 
Curso Intensivo de N8N
Curso Intensivo de N8NCurso Intensivo de N8N
Curso Intensivo de N8N
 
Desenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE PlasmaDesenvolvendo Widgets QML para o KDE Plasma
Desenvolvendo Widgets QML para o KDE Plasma
 

devise @ rails summit 2009 - 2009.10.13