Das ‘Devise’-Gem in Rails 8 freischalten

Selbst wenn wir unseren Zauberhut aufsetzen und unsere Kristallkugeln hervorholen müssten, würden wir immer noch darauf herumreiten, dass Ruby on Rails auch im Jahr 2026 noch im Trend liegen wird! Auch im Jahr 2026 wird ein Tag nur 24 Stunden haben (wie sehr wünschten wir uns doch, wir könnten die Zeit dehnen), und Zeit wird für Geschäftsleute nach wie vor Geld bedeuten. Wenn Zeit Geld ist, ist alles, was Zeit spart, Gold wert! Und genau hier kommt Ruby on Rails ins Spiel. Was bei anderen Programmiersprachen Monate dauern würde, ist mit Ruby on Rails in wenigen Wochen, manchmal sogar in nur wenigen Tagen erledigt. Noch nie war es so einfach, Ideen in Anwendungen umzusetzen. Bei Ruby on Rails ist Agilität die Norm und „Konvention vor Konfiguration“ der Maßstab. Und was Ruby on Rails noch leistungsfähiger macht, sind die zahlreichen vorgefertigten, kategorisierten und wiederverwendbaren Code-Bausteine, die als „Gems“ bezeichnet werden. Mit diesen Gems ist Rails eine wahre Kraft, die man nicht unterschätzen sollte. Eines der beliebtesten Gems heißt „Devise“, ein komplettes Authentifizierungspaket. Lesen Sie weiter, um mehr über das Devise-Gem zu erfahren.

Vorstellung von Devise für Ruby on Rails 8

Devise ist eine weit verbreitete Authentifizierungsbibliothek für Ruby-on-Rails-8-Anwendungen, die auf Gefängnisdirektor, ein auf Rack basierendes Authentifizierungs-Framework.

Warden verwaltet Benutzersitzungen, indem es die Identität authentifizierter Benutzer sicher überprüft. Außerdem stellt es sicher, dass nicht authentifizierte Benutzer keinen Zugriff auf geschützte Routen und Ressourcen innerhalb einer Rails-Anwendung erhalten.

Da Warden ausschließlich auf Rack-Ebene arbeitet, bietet es keine Rails-spezifischen Funktionen wie Controller, Views, Helper oder Konfigurationsgeneratoren, die für ein vollständiges Authentifizierungssystem erforderlich sind. Devise schließt diese Lücke durch die Bereitstellung dieser Rails-Integrationen und erleichtert so die Implementierung einer robusten und produktionsreifen Authentifizierungslösung in Rails 8.

Ein großer Vorteil von Devise ist seine modulare Architektur. Es umfasst etwa zehn Authentifizierungsmodule, mit denen Sie das Verhalten der Authentifizierung in Ihrer Anwendung individuell anpassen können. Sie können nur die Module aktivieren, die Sie benötigen – wie beispielsweise „Registerable“, „Omniauthable“, „Trackable“ und andere –, wodurch Ihre Authentifizierungskonfiguration übersichtlich und flexibel bleibt.

 

Mit diesem Wissen können wir nun mit der Entwicklung unserer „Tasks“-Anwendung beginnen und Devise in einer Rails-8-Umgebung einrichten.

Was ist „Devise“-Gem?

  1. Devise ist eine leistungsstarke und flexible Authentifizierungslösung für Rails.
  2. Es basiert vollständig auf der MVC-Struktur.
  3. Es ermöglicht die gleichzeitige Anmeldung mehrerer Modelle.

Verschiedene Entwicklungsmodule

Devise besteht aus 10 wichtigen Modulen.

  1. Datenbankauthentifizierung möglich: Es verschlüsselt und speichert Passwörter in der Datenbank, sodass die Validierung der Authentizität eines Benutzers zum Zeitpunkt der Anmeldung erfolgen kann. Die Authentifizierung kann sowohl über POST-Anfragen als auch über HTTP-Basisauthentifizierung erfolgen.
  2. Omniauthable: Hinzufügen OmniAuth Unterstützung, dh die Einrichtung eines Logins mit OmniAuth ist möglich.
  3. Bestätigbar: Versendet E-Mails mit Bestätigungsanweisungen und überprüft bei der Anmeldung, ob ein Konto bereits bestätigt wurde.
  4. Wiederherstellbar: Setzt das Benutzerkennwort zurück und sendet Anweisungen zum Zurücksetzen.
  5. Registrierbar: Erledigt den Registrierungsprozess, indem Benutzer registriert werden und ihnen auch die Möglichkeit gegeben wird, ihr Konto zu bearbeiten und zu löschen.
  6. Merkbar: Wie der Name schon sagt, hilft es bei der Verwaltung, Generierung und Löschung eines Tokens zur Erinnerung an den Benutzer durch gespeicherte Cookies.
  7. Nachverfolgbar: Verfolgt die Anzahl der Anmeldungen, Zeitstempel und IP-Adresse.
  8. Zeitüberschreitung: Läuft Sitzungen ab, die in einem bestimmten Zeitraum nicht aktiv waren.
  9. Validierbar: Bietet Validierungen von E-Mail und Passwort. Dies ist optional und kann angepasst werden, sodass Sie Ihre eigenen Validierungen definieren können.
  10. Sperrbar: Hilft beim Sperren eines Kontos nach einer bestimmten Anzahl fehlgeschlagener Anmeldeversuche. Das Konto kann per E-Mail oder nach einem bestimmten Zeitraum entsperrt werden.

Devise installieren, Modell erstellen, anzeigen und konfigurieren

  1. Erstellen Sie Ihre Rails-App
  2. Fügen Sie gem „devise“ zu Ihrer Gem-Datei hinzu.
  3. Führen Sie die Bundle-Installation in Ihrer Befehlszeile aus.
  4. Führen Sie „Rails Generate Devise: Install“ in Ihrer Befehlszeile aus.
  5. Führen Sie in Ihrer Befehlszeile den Befehl „rails generate devise “ aus, um das Modell zu erstellen.
Führen Sie den folgenden Befehl aus:
 
rails generate devise User
Nach der Ausführung dieses Befehls wird im Verzeichnis „app/models“ ein Modell namens „user.rb“ generiert.
 
class User < ApplicationRecord
  # Enthält die Standardmodule von Devise.
  # Weitere verfügbare Module sind:
  # :confirmable, :lockable, :timeoutable und :omniauthable
  devise :database_authenticatable,
         :registrierbar,
         :wiederherstellbar,
         :einprägsam,
         :nachverfolgbar,
         :validierbar
Ende
  1. Wenn Sie möchten, können Sie Ihre Migrationsdatei für den Benutzer ändern. Führen Sie dann rake db:migrate aus
  2. Führen Sie „Rails Generate devise:views“ in Ihrer Befehlszeile aus, um Ansichten zu erstellen
  3. Sie müssen die Standard-URL-Optionen für den Devise-Mailer in jeder Umgebung einrichten. Ex-Konfiguration für config/environments/development.rb: config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

Sie können Modelle, Controller und Ansichten je nach Bedarf anpassen. Weitere Informationen finden Sie in den Github-Dokumenten.

Einige Controller-Filter und -Helfer

  • So richten Sie einen Controller mit Benutzerauthentifizierung ein before_action :authenticate_user!
  • Um zu überprüfen, ob ein Benutzer angemeldet ist oder nicht => user_signed_in?
  • Für den aktuell angemeldeten Benutzer => current_user
  • Greifen Sie auf die Sitzung für diesen Bereich zu: => user_session
  • Sie können auch after_sign_in_path_for und after_sign_out_path_for überschreiben, um Ihre Weiterleitungspfade anzupassen.

Sie können das Gem „activeadmin“ und das Gem „devise_invitable“ in Geräte integrieren.

Wenn es um Zeitersparnis geht, gibt es nichts Besseres als Ruby on Rails. Wenn Sie eine Idee haben und diese gerne umsetzen möchten, greifen Sie am besten zu Ruby on Rails. RailsCarma implementiert Ruby on Rails von Anfang an für die Entwicklung, Schulung, Bereitstellung und Beiträge zur Rails-Community und bietet die besten Ruby on Rails-Entwicklungsdienste. RailsCarma bietet Unternehmen auf der ganzen Welt End-to-End-Ruby-on-Rails-Dienste einschließlich Beratung, Architektur, Aufbau, Management und Erweiterung. Du kannst auch Stellen Sie Ruby on Rails-Entwickler ein mit einem einfachen Einstellungsprozess. Kontaktiere uns mehr wissen.

Lesen Sie mehr über weitere Edelsteine:

Abonnieren Sie die neuesten Updates

zusammenhängende Posts

Über den Autor des Beitrags

Hinterlasse einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


de_DEGerman