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 par formulaires ASP.NET qui fournit la validation des e-mails, les contrôles d'inscription et permet aux utilisateurs de réinitialiser leurs mots de passe. Oh ouais, et me permet facilement de tirer l'utilisateur qui est actuellement connecté à l'application.
J'ai commencé à examiner les pièces déjà écrites, mais j'ai trouvé cela vraiment déroutant. J'ai regardé LoginGenerator, RestfulAuthentication, SaltedLoginGenerator, mais il ne semble pas y avoir un seul endroit qui propose d'excellents tutoriels ou en offre une comparaison. S'il y a un site que je n'ai tout simplement pas encore découvert, ou s'il existe une norme de facto que la plupart des gens utilisent, j'apprécierais l'aide.
la source
Je recommanderais vraiment l' authentification reposante . Je pense que c'est à peu près la norme de facto.
la source
Pour une solution vraiment simple, optez pour Clearance .
Si vous recherchez plus d'options, Devise est une excellente solution. Il utilise Warden, un système d'authentification basé sur un rack.
la source
Il y a aussi RestfulOpenIDAuthentication si vous voulez la prise en charge d'OpenID en plus de la prise en charge des mots de passe.
la source
Juste une note, LoginGenerator et SaltedLoginGenerator ont été remplacés par Restful Authentication et ne sont pas pris en charge sur les nouvelles versions de Rails - ne perdez pas de temps avec eux, même s'ils étaient excellents à l'époque.
la source
Je voudrais également souligner un excellent tutoriel / discussion sur l'extension des fonctionnalités de base de l'authentification Restful, au cas où vous recherchez quelque chose d'un peu plus robuste.
la source
J'apprécie vraiment l'autorisation de thinkbot. Très simple et a quelques bons crochets et est testable.
la source
AuthLogic semble être ce que vous voulez pour cela. C'est très configurable, et bien qu'il ne génère pas le code pour vous, c'est assez facile à utiliser. Pour la validation des e-mails et la récupération du mot de passe, vous souhaiterez probablement utiliser la
:perishable_token
colonne. AuthLogic s'en charge, vous n'avez besoin de le réinitialiser que lorsqu'il est utilisé. Pour plus d'informations sur la configuration d'une application de base, vous pouvez jeter un œil à Railscast de Ryan Bates 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 du mot de passe et l'exemple d'application sont tous dans le README (voir le repo AuthLogic pour le README)Mise à jour: je peux maintenant publier plus de liens, donc j'en ai lié d'autres. Merci marinatime d'avoir ajouté le lien entre-temps
la source
restful_authentication est un outil puissant qui est très flexible et fournit la plupart de ce que vous recherchez prêt à l'emploi. Cependant, quelques mises en garde:
la source
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'application Rails simples avec uniquement les parties d'authentification.
Ces informations devraient suffire pour vous aider à trouver des têtes et des queues ... bonne chance.
la source
Je viens de mettre à jour ceci: Railscast # 250 de Ryan Bates montre la construction d'un système d'authentification à partir de zéro ....
la source
Un autre vote pour Clearance - peut-être pas aussi personnalisable ou «in» qu'authlogic, mais en termes de simplement pouvoir le mettre en place et partir, cela vaut vraiment la peine d'y jeter un coup d'œil.
la source