Question

Je recherche une solution prédéfinie que je peux utiliser dans mon application RoR.Je recherche idéalement quelque chose de similaire à l'authentification ASP.NET Forms qui fournit une validation par courrier électronique, des contrôles d'inscription et permet aux utilisateurs de réinitialiser leurs mots de passe.Oh ouais, et cela me permet facilement d'extraire l'utilisateur actuellement connecté à l'application.

J'ai commencé à examiner les pièces déjà écrites, mais j'ai trouvé cela vraiment déroutant.J'ai consulté LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, mais il ne semble pas y avoir un seul endroit proposant d'excellents didacticiels ou fournissant une comparaison entre eux.S'il y a un site que je n'ai pas encore découvert, ou s'il existe une norme de facto que la plupart des gens utilisent, j'apprécierais votre aide.

Était-ce utile?

La solution

AuthLogic semble être le petit nouveau du quartier et semble être la prochaine évolution de restful_authentication, plus facile à utiliser, etc.

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

Modifier:maintenant que Rails 3 est sorti, Devise semble être le petit nouveau du quartier

https://github.com/plataformatec/deviseou j'ai lancé ma propre authentification maintenant avec le has_secure_password intégré à Rails http://railscasts.com/episodes/250-authentication-from-scratch-revised

Remarque complémentaire :Ruby Toolbox est un excellent site pour trouver la meilleure solution actuelle dans diverses catégories (en fonction du nombre d'observateurs GitHub) :

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

Autres conseils

Je recommanderais vraiment Authentification reposante.Je pense que c'est à peu près la norme de facto.

Pour une solution vraiment simple, allez avec Autorisation.

Si vous recherchez plus d'options Concevoir est une excellente solution.Il utilise Warden qui est un système d'authentification basé sur rack.

Il y a aussi RestfulOpenIDAauthentification si vous souhaitez la prise en charge d'OpenID en plus de la prise en charge des mots de passe.

Juste une note, LoginGenerator et SaltedLoginGenerator ont été remplacés par Restful Authentication et ne sont pas pris en charge sur les versions plus récentes de Rails - ne perdez pas de temps avec eux, même s'ils étaient excellents à l'époque.

Je voudrais également souligner un excellent tutoriel/discussion sur l'extension des fonctionnalités de base de Restful Authentication, au cas où vous recherchez quelque chose d'un peu plus robuste.

J'aime vraiment l'autorisation de Thoughtbot.Très simple et possède quelques bons crochets et est testable.

AuthLogique semble être ce que vous voulez pour cela.Il est très configurable et même s'il ne génère pas de code pour vous, il est assez simple à utiliser.Pour la validation des e-mails et la récupération du mot de passe, vous souhaiterez probablement utiliser le :perishable_token colonne.AuthLogic s'en charge, il vous suffit de le réinitialiser lorsqu'il est utilisé.Pour plus d'informations sur la configuration d'une application de base, vous pouvez consulter Ryan Bates. Railscast sur AuthLogic, et l'exemple d'application "officiel".Ben Johnson, le créateur d'AuthLogic a également écrit un article de blog sur la façon de réinitialiser les mots de passe de manière REST.

Malheureusement, je ne peux pas publier plus d'un lien, mais les liens vers le railscast, le billet de blog de réinitialisation de mot de passe et l'exemple d'application sont tous dans le README (voir le dépôt AuthLogic pour le README)

Mise à jour:Maintenant, je peux publier plus de liens, j'en ai donc lié d'autres.Merci marinatime d'avoir ajouté le lien en attendant

restful_authentication est un outil puissant, très flexible et qui fournit la plupart de ce que vous recherchez immédiatement.Cependant, quelques mises en garde :

  1. Ne pensez pas en termes de « contrôles ».Dans Rails, le modèle, la vue et le contrôleur sont beaucoup plus indépendants que dans ASP.NET de « style Webforms ».Déterminez ce que vous attendez de chaque couche indépendamment, rédigez des tests/spécifications correspondant et assurez-vous que chaque couche fait ce que vous attendez.
  2. Même si vous utilisez un plugin, rien ne remplace la lecture (au moins une partie) du code généré.Si vous avez une idée globale de ce qui se passe sous le capot, vous trouverez le débogage et la personnalisation beaucoup plus faciles.

Le plugin restful_authentication et les autres plugins qui l'étendent, répondent parfaitement à vos besoins.Une recherche rapide sur github.com révélera de nombreux tutoriels, exemples et extensions.Allez simplement ici :
- http://github.com/search?q=restful_authentication

Il existe plusieurs projets qui utilisent restful_authentication uniquement pour fournir des exemples d'une application Rails simple avec uniquement les parties d'authentification.

  1. http://github.com/fudgestudios/bort -- Une application de rails de base comprenant :Authentification RESTful
  2. http://github.com/mrflip/restful_authentication_example -- Un autre projet avec un excellent exemple de la façon d'utiliser restful_authentication
  3. http://github.com/activefx/restful_authentication_tutorial -- Comme ci-dessus, avec quelques autres plugins fournis.
  4. http://railscasts.com/episodes/67-restful-authentication -- un excellent screencast expliquant restful_authentication

Ces informations devraient suffire pour vous permettre de commencer à trouver pile et face...bonne chance.

Je viens de mettre à jour ceci :Ryan Bates Railcast #250 montre la construction d'un système d'authentification à partir de zéro....

Un autre vote pour Clearance - peut-être pas aussi personnalisable ou aussi «in» qu'Authlogic, mais en termes de simple possibilité de le mettre en place et de partir, cela vaut vraiment la peine d'y jeter un coup d'œil.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top