Pregunta

Estoy buscando una solución prediseñadas que pueda usar en mi aplicación RoR.Idealmente, estoy buscando algo similar a la autenticación de formularios ASP.NET que proporcione validación de correo electrónico, controles de registro y permita a los usuarios restablecer sus contraseñas.Ah, sí, y me permite acceder fácilmente al usuario que actualmente está conectado a la aplicación.

Empecé a investigar los artículos ya escritos, pero lo encontré realmente confuso.He mirado LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, pero no parece haber un lugar que tenga excelentes tutoriales ni proporcione una comparación de ellos.Si hay un sitio que aún no he descubierto, o si existe un estándar de facto que la mayoría de la gente usa, agradecería que me ayudaran.

¿Fue útil?

Solución

AuthLogic parece ser el nuevo chico de la cuadra y parece ser la próxima evolución de restful_authentication, más fácil de usar, etc.

http://github.com/binarylogic/authlogic/tree/master

Editar:Ahora que Rails 3 ya está disponible, Devise parece ser el nuevo chico de la cuadra.

https://github.com/plataformatec/deviseo he estado implementando mi propia autenticación ahora con el has_secure_password integrado en rieles http://railscasts.com/episodes/250-authentication-from-scratch-revised

Nota al margen:Ruby Toolbox es un gran sitio para encontrar la mejor solución actual en varias categorías (según la cantidad de observadores de GitHub):

http://ruby-toolbox.com/categories/rails_authentication.html

Otros consejos

Realmente lo recomendaría Autenticación tranquila.Creo que es más o menos el estándar de facto.

Para una solución realmente simple, vaya con Autorización.

Si buscas más opciones Idear es una gran solución.Utiliza Warden, que es un sistema de autenticación basado en rack.

También hay Autenticación RestfulOpenID si desea compatibilidad con OpenID además de compatibilidad con contraseña.

Solo una nota, LoginGenerator y SaltedLoginGenerator han sido reemplazados por Restful Authentication y no son compatibles con las versiones más recientes de Rails; no pierda el tiempo con ellos, aunque eran geniales en ese momento.

También me gustaría destacar un excelente tutorial/discusión sobre ampliar la funcionalidad principal de Restful Authentication, en caso de que esté buscando algo un poco más sólido.

Me gusta mucho la autorización de thinkbot.Muy simple, tiene algunos buenos ganchos y es comprobable.

AuthLogic Parece ser lo que quieres para esto.Es muy configurable y, aunque no genera el código por ti, es bastante fácil de usar.Para la validación de correo electrónico y la recuperación de contraseña, probablemente desee utilizar el :perishable_token columna.AuthLogic se encarga de ello, sólo necesita restablecerlo cuando se utiliza.Para obtener información sobre cómo configurar una aplicación básica, puede consultar Ryan Bates' Railscast en AuthLogic, y la aplicación de ejemplo "oficial".Ben Johnson, el creador de AuthLogic, también escribió una publicación de blog sobre cómo restablecer contraseñas de manera REST.

Desafortunadamente, no puedo publicar más de un enlace, pero los enlaces al Railscast, la publicación del blog sobre restablecimiento de contraseña y la aplicación de ejemplo están todos en el README (consulte el repositorio de AuthLogic para el README)

Actualizar:Ahora puedo publicar más enlaces, así que vinculé algunos más.Gracias marinatime por agregar el enlace mientras tanto.

restful_authentication es una herramienta poderosa que es muy flexible y proporciona la mayor parte de lo que busca de forma inmediata.Sin embargo, un par de advertencias:

  1. No piense en términos de "controles".En Rails, el modelo, la vista y el controlador son mucho más independientes que en ASP.NET 'estilo Webforms'.Calcule lo que desea de cada capa de forma independiente, escriba pruebas/especificaciones que coincidan y asegúrese de que cada capa esté haciendo lo que espera.
  2. Incluso si está utilizando un complemento, no hay sustituto para la lectura (al menos parte) del código generado.Si tiene una idea general de lo que sucede bajo el capó, le resultará mucho más fácil depurar y personalizar.

El complemento restful_authentication y otros complementos que lo amplían responden perfectamente a sus necesidades.Una búsqueda rápida en github.com revelará muchos tutoriales, ejemplos y extensiones.Sólo ve aquí:
- http://github.com/search?q=restful_authentication

Hay varios proyectos que usan restful_authentication solo para proporcionar ejemplos de una aplicación Rails básica con solo las partes de autenticación.

  1. http://github.com/fudgestudios/bort - Una aplicación de rieles base que presenta:Autenticación RESTful
  2. http://github.com/mrflip/restful_authentication_example -- Otro proyecto con un gran ejemplo de cómo usar restful_authentication
  3. http://github.com/activefx/restful_authentication_tutorial -- Igual que el anterior, con algunos otros complementos incluidos.
  4. http://railscasts.com/episodes/67-restful-authentication -- un gran screencast que explica restful_authentication

Esta información debería ser suficiente para que empieces a encontrar cara y cruz...buena suerte.

Solo actualizando esto:Ryan Bates Transmisión de rieles #250 muestra cómo construir un sistema de autenticación desde cero....

Otro voto a favor de la Liquidación: tal vez no sea tan personalizable o tan moderno como authlogic, pero en términos de simplemente poder colocarlo en su lugar y listo, definitivamente vale la pena echarle un vistazo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top