update tutorial signup registrationscontroller rails instalar ruby-on-rails-3 authlogic devise

ruby on rails 3 - tutorial - Autenticación de Rails 3: Authlogic vs Devise



rspec rails devise (6)

Al igual que el autor de la pregunta original, yo también siempre había usado AuthLogic en los 2.3 días de Rails, pero tomé la decisión de usar Idear cuando AuthLogic no estaba listo para Rails 3.1 (cuando estaba en la etapa RC). En general, he hecho que Devise haga lo que quiero pero no estoy contento y ojalá no hubiera hecho el cambio.

La autenticación de usuario parece simple en la superficie y es ideal para "componentes", pero tantas veces que desea permitir que un usuario interactúe con su sitio por completo antes de requerir el inicio de sesión y Devise lo hace más difícil.

Sí, características como poner after_sign_in_path_for / after_sign_up_path_for en el trabajo del controlador de aplicaciones, pero estas funciones realmente no pretenden hacer más que devolver un camino y si está utilizando Devise, se encontrará metiendo grandes bloques de código en ellas. Funciona, pero tener tu propio controlador de usuario para manejar las acciones relacionadas con el usuario es, para mí, más elegante.

Siempre he usado Authlogic en Rails 2.3 pero ahora que estoy usando Rails 3 creo que podría probar una nueva solución de autenticación.

¿Cómo se compara Devise con Authlogic? ¿Cuáles son sus diferencias?


Encontré a Devise demasiado obstinado para mí. Si solo quiere aceptar la forma en que hace las cosas de la caja, es bueno y fácil ponerse en marcha. Tenía algunos requisitos específicos y me encontré escribiendo cosas para redirigir a Devise, así que terminé arrancándolo y actualizando Authlogic en Rails3.


Los he usado ambos, pero no extensivamente. En mi último proyecto, le di una oportunidad a Devise. Terminé usando Rails-Warden en su lugar.

  • Devise es un marco de autenticación completo construido sobre Warden. Para personalizar su apariencia, use generadores, luego edite las vistas resultantes. Sus rutas y lógica de vista están codificadas. Por ejemplo, el inicio de sesión exitoso siempre te llevará a / session / new? Este fue un acuerdo o yo, quería que mis usuarios terminaran en "welcome / index". Devise no está tan bien documentado ni es intuitivo como authlogic.
  • Warden es un framework de middleware en el que se basa Devise. Tiene complementos para muchos esquemas de autenticación web (fb, openid, oauth), y es fácil construir un complemento para su propio back-end de autenticación. Viene sin interfaz de usuario, y los documentos no son tan buenos como authlogic.
  • Terminé usando Rails-warden porque necesitaba agregar múltiples esquemas de autenticación personalizados.
  • Además, vea la respuesta de OmniAuth a continuación, eso es lo que estoy usando en 2012.

  • Me gusta Devise. También puedes usar OmniAuth con Devise. Creo que el proyecto Devise es muy activo y tiene un gran respaldo en internet.


    Si necesita autenticación OAuth múltiple en Twitter, Facebook, LinkedIn y Google, puede usar la gema OmniAuth junto con Authlogic. Es fácil de descifrar y le brinda control total sobre lo que sucede a medida que los usuarios se autentican desde diferentes sitios sociales, lo que hace en authorizations_controller.rb.