Unlocking the ‘Devise’ Gem in Rails 8

If we have to don our wizarding hat and take out our crystal balls, we would still be harping that Ruby on Rails is going to be hot in 2026 too! 2026 is also going to bring in only 24 hours a day (how we wish, we could stretch the time) and time would still spell money for businesspeople. When time is money, anything which can save time is gold! And that’s where Ruby on Rails come in picture. What could take other programming languages months to complete, takes only weeks, sometimes just days for Ruby on Rails. Shaping ideas into applications was never so easy. With Ruby on Rails, agility is the norm and convention over configuration the benchmark. And what make Ruby on Rails more powerful are the bunch of pre-packaged, categorized, reusable codes, named as gems. With gems, Rails is a super power to behold. One of the most popular gems is called as Devise Gems, which is a complete authentication package. Read on to know more about Devise gem.

Introducing Devise for Ruby on Rails 8

Devise is a widely used authentication library for Ruby on Rails 8 applications, built on top of Warden, a Rack-based authentication framework.

Warden manages user sessions by securely validating the identity of authenticated users. It also ensures that unauthenticated users are restricted from accessing protected routes and resources within a Rails application.

Since Warden operates strictly at the Rack level, it does not provide Rails-specific features such as controllers, views, helpers, or configuration generators required for a complete authentication system. Devise bridges this gap by adding these Rails integrations, making it easier to implement a robust and production-ready authentication solution in Rails 8.

A major advantage of Devise is its modular architecture. It includes around ten authentication modules that allow you to customize how authentication behaves in your application. You can enable only the modules you need—such as Registerable, Omniauthable, Trackable, and others—keeping your authentication setup clean and flexible.

 

With this understanding, we can now begin building our Tasks application and set up Devise in a Rails 8 environment.

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. Execute rails generate devise <Model Name> in your command line to create model
Run the following command:
 
rails generate devise User
After running this command, a user.rb model will be generated in the app/models directory.
 
class User < ApplicationRecord
  # Include default Devise modules.
  # Other available modules are:
  # :confirmable, :lockable, :timeoutable, and :omniauthable
  devise :database_authenticatable,
         :registerable,
         :recoverable,
         :rememberable,
         :trackable,
         :validatable
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