42 votes

Rails 3 Authentification: Authlogic vs Concevoir

J'ai toujours utilisé Authlogic dans les Rails 2.3, mais maintenant que je suis à l'aide de Rails 3, je pense que je pourrais essayer une nouvelle solution d'authentification.

Comment Concevoir comparer avec Authlogic? Quelles sont leurs différences?

31voto

Aleksandar Totic Points 1605

J'ai utilisé les deux, mais pas beaucoup. Dans mon dernier projet, j'ai donné de Concevoir un tir. J'ai fini à l'aide de Rails-Préfet à la place.

Concevoir une authentification cadre construit sur le Gardien. Pour personnaliser son apparence, vous utilisez des générateurs, puis modifier la résultante de vues. Ses routes, et la logique de vue sont codés en dur. Par exemple, la connexion réussie, toujours vous /session/nouveau? C'était un dealbreaker ou de moi, je voulais que mes utilisateurs à retrouver sur "bienvenue/index". Concevoir n'est pas aussi bien documentés, ou intuitive que authlogic.

Le préfet est un middleware cadre de Concevoir est basé sur. Il a des plugins pour le web de nombreux schémas d'authentification (fb, openid, oauth), et il est facile de construire un plugin pour votre propre authentification de back-end. Il est livré avec aucun de l'INTERFACE utilisateur, et les docs ne sont pas aussi bon que authlogic.

J'ai fini à l'aide de rails-gardien car j'avais besoin de plugin plusieurs des schémas d'authentification personnalisés.

Aussi, voir OmniAuth réponse ci-dessous, c'est ce que je suis en utilisant en 2012.

31voto

twmulloy Points 1055

pour concevoir, si vous souhaitez envoyer connexion réussie à "bienvenue/index" vous ajoutez des routes.rb

namespace :user do
    root :to => "welcome#index"
end

comme l'a documenté https://github.com/plataformatec/devise/wiki/How-To:-Redirect-to-a-specific-page-on-successful-sign-in

personnellement, j'aime concevoir. il pense que c'est formidable et je pense que vous pouvez l'appeler "opinions", mais ces opinions peuvent être facilement remplacés.

11voto

james2m Points 884

J'ai trouvé Concevoir trop d'opinions pour moi. Si vous voulez juste accepter la façon dont il fait des choses hors de la boîte, il est bon et facile à aller de l'avant. J'ai eu quelques exigences spécifiques et me suis retrouvé à écrire des choses pour obtenir ronde Concevoir ainsi retrouvés extraction et mise à jour de Authlogic à Rails3 à la place.

10voto

fuzzygroup Points 116

Comme l'original interlocuteur, moi aussi j'avais toujours utilisé AuthLogic dans les Rails 2.3 jours, mais fait le choix d'utiliser de Concevoir lorsque AuthLogic n'était pas prêt pour Rails 3.1 (quand il était à la RC de la scène). Dans l'ensemble j'ai fait Concevoir de faire ce que je veux, mais je suis malheureux et souhaite que je n'avais pas fait le changement.

L'Authentification de l'utilisateur semble simple sur la surface et un idéal de "grouper", mais autant de fois que vous voulez permettre à un utilisateur d'interagir avec votre site avant d'exiger la connexion et de Concevoir rend cela plus difficile.

Oui fonctionnalités comme la mise after_sign_in_path_for / after_sign_up_path_for en Application de Contrôleur de travaux, mais ces fonctions sont vraiment destinées à ne rien faire de plus que de retourner un chemin et si vous êtes à l'aide de Concevoir, vous trouverez vous-même coller des gros blocs de code. Il fonctionne, mais d'avoir votre propre utilisateurs contrôleur pour gérer relatives à l'utilisateur des actions est, pour moi, plus élégant.

7voto

Adrien Lamothe Points 840

Si vous avez besoin de plusieurs authentification OAuth de Twitter, Facebook, LinkedIn et Google, vous pouvez utiliser le OmniAuth gem avec Authlogic. Facile à trouver et vous donne un contrôle complet sur ce qui se passe que les utilisateurs à s'authentifier à partir de différents sites sociaux, ce que vous faites dans authorizations_controller.rb.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X