Authentification Rails 3: Authlogic vs Devise
J'ai toujours utilisé Authlogic dans Rails 2.3 mais maintenant que J'utilise Rails 3, je pense que je pourrais essayer une nouvelle solution d'authentification.
Comment Devise se compare-t-il à Authlogic? Quelles sont leurs différences?
6 réponses
Je les ai utilisés tous les deux, mais pas intensivement. Dans mon dernier projet, J'ai donné un coup de feu à Devise. J'ai fini par utiliser Rails-Warden à la place.
Pour devise, si vous voulez envoyer une connexion réussie à "welcome / index", vous ajoutez aux routes.rb
namespace :user do
root :to => "welcome#index"
end
Tel Que 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 génial et je suppose que vous pouvez l'appeler "opiniâtre", mais ces opinions peuvent être facilement écrasées.
J'ai trouvé Devise trop opiniâtre 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'avais des exigences spécifiques et je me suis retrouvé à écrire des choses pour contourner le problème, donc j'ai fini par l'extraire et mettre à jour Authlogic vers Rails3 à la place.
Comme le questionneur original, moi aussi j'avais toujours utilisé AuthLogic dans les Rails 2.3 jours mais j'ai fait le choix d'utiliser Devise quand AuthLogic n'était pas prêt pour Rails 3.1 (quand il était au stade RC). Dans l'ensemble, J'ai fait faire ce que je veux, Mais je suis malheureux et j'aimerais ne pas avoir fait le changement.
L'authentification de L'Utilisateur semble simple à la surface et une chose idéale pour "componentize" , mais tant de fois vous voulez laisser un utilisateur s'engager pleinement avec votre site avant d'exiger la connexion et concevoir des marques - ce plus difficile.
Oui des fonctionnalités comme mettre after_sign_in_path_for / after_sign_up_path_for dans le travail du contrôleur D'Application, mais ces fonctions sont vraiment destinées à ne rien faire de plus que de retourner un chemin et si vous utilisez Devise, vous vous retrouverez à y coller de gros blocs de code. Cela fonctionne, mais avoir votre propre contrôleur d'utilisateurs pour gérer les actions liées à l'utilisateur est, pour moi, plus élégant.
Si vous avez besoin de plusieurs authentification OAuth sur Twitter, Facebook, LinkedIn et Google, vous pouvez utiliser la gemme OmniAuth avec Authlogic. Facile à comprendre et vous donne un contrôle complet sur ce qui se passe lorsque les utilisateurs s'authentifient à partir de différents sites sociaux, ce que vous faites dans authorizations_controller.RB.
J'aime concevoir. Vous pouvez également utiliser OmniAuth avec Devise. Je pense que le projet Devise est très actif, et il a un grand soutien sur internet.