Ruby on Rails

Автентифікація та авторизація

Devise (вебсесії), has_secure_password, cookies, JWT (автентифікація API), Pundit, CanCanCan

22 питань зі співбесід·
Mid-Level
1

Що таке Devise в екосистемі Rails?

Відповідь

Devise — це гнучкий та повноцінний gem для автентифікації в Rails, побудований на Warden. Він надає попередньо налаштовані модулі для обробки реєстрації, входу, відновлення пароля, підтвердження електронної пошти, блокування облікового запису та іншого. Devise є найпопулярнішим рішенням автентифікації в екосистемі Rails завдяки простоті інтеграції та модульності.

2

Які модулі Devise найчастіше використовуються в стандартному додатку Rails?

Відповідь

Devise пропонує модульну архітектуру, де кожна функція є окремим модулем. Найпоширеніші модулі: database_authenticatable (автентифікація за паролем), registerable (реєстрація), recoverable (відновлення пароля), rememberable (cookie 'запам'ятати мене'), validatable (валідації email та пароля), confirmable (підтвердження email) та lockable (блокування після невдач).

3

Як захистити дію контролера, щоб вона була доступна лише авторизованим користувачам із Devise?

Відповідь

Devise надає хелпер authenticate_user!, який можна використовувати як before_action у контролерах. Цей фільтр перевіряє, чи увійшов користувач, і перенаправляє на сторінку входу, якщо ні. Його можна застосувати до всіх дій або обмежити за допомогою only чи except. Назва хелпера залежить від моделі (authenticate_admin! для моделі Admin).

4

Який хелпер Devise дозволяє отримати доступ до поточного авторизованого користувача у в'ю або контролері?

5

Як налаштувати в'ю Devise (форми входу, реєстрації тощо) у додатку Rails?

+19 питань зі співбесід

Інші теми співбесід Ruby on Rails

Основи Ruby

Junior
25 запитань

Об'єктно-орієнтоване програмування в Ruby

Junior
20 запитань

Основи Rails

Junior
18 запитань

Routing & Controllers

Junior
22 запитань

Основи ActiveRecord

Junior
25 запитань

Views та шаблони ERB

Junior
20 запитань

Асоціації ActiveRecord

Mid-Level
24 запитань

Розширені запити ActiveRecord

Mid-Level
28 запитань

Форми Rails

Mid-Level
20 запитань

Сучасний Asset Pipeline та frontend

Mid-Level
18 запитань

Режим API Rails

Mid-Level
20 запитань

Тестування з RSpec

Mid-Level
24 запитань

ActiveJob & Background Jobs

Mid-Level
20 запитань

ActionCable & WebSockets

Mid-Level
18 запитань

ActionMailer

Mid-Level
18 запитань

ActiveStorage

Mid-Level
20 запитань

Стратегії кешування

Mid-Level
20 запитань

Розширені міграції

Mid-Level
20 запитань

Rails Engines та модульні застосунки

Senior
18 запитань

Оптимізація продуктивності

Senior
26 запитань

Патерни проєктування Rails

Senior
22 запитань

Метапрограмування в Ruby

Senior
20 запитань

Безпека Rails

Senior
22 запитань

GraphQL із Rails

Senior
20 запитань

Розгортання та Продакшн

Senior
20 запитань

Monitoring & Logging

Senior
20 запитань

Стратегії оновлення Rails

Senior
18 запитань

Опануй Ruby on Rails для наступної співбесіди

Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.

Почни безкоштовно