Ruby on Rails

Authentifizierung & Autorisierung

Devise (Web-Sessions), has_secure_password, Cookies, JWT (API-Authentifizierung), Pundit, CanCanCan

22 Interview-Fragen·
Mid-Level
1

Was ist Devise im Rails-Ökosystem?

Antwort

Devise ist ein flexibles und vollständiges Authentifizierungs-Gem für Rails, das auf Warden aufbaut. Es bietet vorkonfigurierte Module für Registrierung, Login, Passwort-Wiederherstellung, E-Mail-Bestätigung, Kontosperrung und mehr. Devise ist dank seiner einfachen Integration und Modularität die beliebteste Authentifizierungslösung im Rails-Ökosystem.

2

Welche Devise-Module werden in einer Standard-Rails-Anwendung am häufigsten verwendet?

Antwort

Devise bietet eine modulare Architektur, bei der jede Funktion ein abtrennbares Modul ist. Die gebräuchlichsten Module sind database_authenticatable (Passwort-Authentifizierung), registerable (Registrierung), recoverable (Passwort-Wiederherstellung), rememberable ('Angemeldet bleiben'-Cookie), validatable (E-Mail- und Passwort-Validierungen), confirmable (E-Mail-Bestätigung) und lockable (Sperrung nach Fehlversuchen).

3

Wie schützt man eine Controller-Aktion so, dass sie mit Devise nur für angemeldete Benutzer zugänglich ist?

Antwort

Devise stellt den Helper authenticate_user! bereit, der als before_action in Controllern verwendet werden kann. Dieser Filter prüft, ob ein Benutzer angemeldet ist, und leitet andernfalls zur Login-Seite weiter. Er kann auf alle Aktionen angewendet oder mit only oder except eingeschränkt werden. Der Helper-Name hängt vom Modell ab (authenticate_admin! für ein Admin-Modell).

4

Welcher Devise-Helper ermöglicht den Zugriff auf den aktuell angemeldeten Benutzer in einer View oder einem Controller?

5

Wie passt man Devise-Views (Login-Formulare, Registrierung usw.) in einer Rails-Anwendung an?

+19 Interview-Fragen

Meistere Ruby on Rails für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten