Ruby on Rails

Uwierzytelnianie i autoryzacja

Devise (sesje webowe), has_secure_password, cookies, JWT (uwierzytelnianie API), Pundit, CanCanCan

22 pytań z rozmów·
Mid-Level
1

Czym jest Devise w ekosystemie Rails?

Odpowiedź

Devise to elastyczny i kompletny gem uwierzytelniania dla Rails, zbudowany na Wardenie. Zapewnia wstępnie skonfigurowane moduły do obsługi rejestracji, logowania, odzyskiwania hasła, potwierdzania adresu email, blokowania konta i nie tylko. Devise jest najpopularniejszym rozwiązaniem uwierzytelniania w ekosystemie Rails dzięki łatwości integracji i modularności.

2

Jakie moduły Devise są najczęściej używane w standardowej aplikacji Rails?

Odpowiedź

Devise oferuje architekturę modularną, w której każda funkcja jest osobnym modułem. Najczęściej używane moduły to database_authenticatable (uwierzytelnianie hasłem), registerable (rejestracja), recoverable (odzyskiwanie hasła), rememberable (ciasteczko 'zapamiętaj mnie'), validatable (walidacje email i hasła), confirmable (potwierdzenie email) oraz lockable (blokowanie po nieudanych próbach).

3

Jak zabezpieczyć akcję kontrolera, aby była dostępna tylko dla zalogowanych użytkowników z Devise?

Odpowiedź

Devise udostępnia helper authenticate_user!, którego można użyć jako before_action w kontrolerach. Ten filtr sprawdza, czy użytkownik jest zalogowany, i przekierowuje na stronę logowania, jeśli nie jest. Można go zastosować do wszystkich akcji lub ograniczyć za pomocą only lub except. Nazwa helpera zależy od modelu (authenticate_admin! dla modelu Admin).

4

Który helper Devise umożliwia dostęp do aktualnie zalogowanego użytkownika w widoku lub kontrolerze?

5

Jak dostosować widoki Devise (formularze logowania, rejestracji itp.) w aplikacji Rails?

+19 pytań z rozmów

Opanuj Ruby on Rails na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo