59

Ich stocherte in StackOverflow und Google, konnte aber niemanden finden, der einen Vergleich von Authentifizierungs-Edelsteinen oder Plugins für Rails erstellt hat (ich suche etwas für Rails 3). Welche Authentifizierungslösungen gibt es für Rails 3, welche am beliebtesten sind und welche Unterschiede gibt es?Rails 3 Authentifizierungslösungen

Antwort

47

Ruby-Toolbox hat eine Liste der beliebtesten: http://ruby-toolbox.com/categories/rails_authentication.html

können Sie sehen, dass Devise und Authlogic sind auf jeden Fall zu den beliebtesten.

Persönlich benutze ich Devise. Es funktioniert gut mit Rails 3, ist leicht anpassbar und macht es sehr einfach, Twitter und Facebook basierte Authentifizierung zu integrieren.

+0

Einer der wichtigsten für mich OpenID basierte Authentifizierungssysteme war. Große Antwort :) –

+2

Gute Antwort. [Sorcery] (https://github.com/NoamB/sorcery) ist eine weitere ausgezeichnete Bibliothek, die ein wenig neuer auf der Szene ist. – Andrew

14

Für eine Rails3 App definitiv ersinnen). Devise ist das einzige Authentifizierungssystem, das Sicherheit auf allen 3 Stapelschichten von Schienen bietet: - In 'M', 'v' und 'C' und daher die beste Wahl. Aber Sie müssen mehr darüber lernen, wie Sie das Gerät an die Anforderungen Ihrer Anwendung anpassen können. Sie können Hilfe auf dieser Seite https://github.com/plataformatec/devise/wiki/_pages finden

0

Ich bin ein großer Befürworter des Rollens Ihr eigenes. Abhängig von Ihren Anforderungen ist die Abhängigkeit von einer Schlüsselkomponente relativ einfach und reduziert. Rails 3.1 macht es noch einfacher.

+5

Es scheint mir, eine Authentifizierungsbibliothek wäre der _letzte_ Ort, an dem Sie sich selbst vertrauen sollten. – jrdioko

+0

Authentifizierung! = Verschlüsselung. Ich vertraue mir selbst nicht, etwas mit Verschlüsselung zu tun, aber die Grundlagen der Authentifizierung sind sehr einfach. Rails 3.1 enthält jetzt sogar eingebaute Funktionen, um mit dem Salz zu helfen. Der andere Weg, um es zu betrachten, ist, wenn es wichtig genug ist, um zu schützen, wen tust du, um es zu schützen? Es gibt definitiv Zeiten, in denen eine bereits benutzte Bibliothek funktioniert, und ich denke, Devise ist eine großartige. – loneaggie

+3

Auch haben Sie eine breitere Gemeinschaft, um den Code zu debuggen, wenn eine Schwäche gefunden wird. Ich vs Alle Hacker oder ich + Opensource awesomeness vs Hackers –

0

Kinda spät zur Party, aber ich schrieb hier für sie etwas nach oben:

http://zergsoft.blogspot.jp/2012/08/rails-3-authentication-compared-warden.html 

Ich behandle Warden, entwickeln und zu Hause angebaut.

0

Das Tutorial von Michael Hartl ist großartig, um zu lernen, wie man sein eigenes aufbaut.

http://ruby.railstutorial.org/ruby-on-rails-tutorial-book

ich verwendet habe auf mehrere Anwendungen und lieben die Flexibilität der Einstellung meiner eigenen Authentifizierungsmethode auf.

Obwohl zum größten Teil verwende ich Devise und liebe es. Es ist sehr schnell/einfach zu implementieren, sehr sicher und macht genau das, was ich brauche.

https://github.com/plataformatec/devise

Ich verwende es in der Regel in Verbindung mit Cancan und Rolify

1

Ich bin überrascht, OminAuth keine Erwähnung in eine der Antworten bekommen hat. (Agreed OmniAuth ist neuer, als diese Frage ist, aber es gibt Antworten, die danach kamen)

Zweifellos ist dies die umfassendste Authentifizierungslösung, die derzeit für Schienenanwendungen verfügbar ist.

Unter der Haube verwendet OmniAuthOAuth2, die sich als de-facto-Standard für die Authentifizierung in Web-Anwendungen über Plattformen und Frameworks entwickelt. Fast alle großen Internet-Spieler unterstützen OAuth2 - Github, Google, Facebook, Twitter, LinkedIn sind nur einige zu nennen.

Natürlich Devise arbeitet sehr gut mit OmniAuth so sollte es kein großes Kopfzerbrechen für die sein, bereits mit Devise