
Автентифікація та авторизація
Devise (вебсесії), has_secure_password, cookies, JWT (автентифікація API), Pundit, CanCanCan
1Що таке Devise в екосистемі Rails?
Що таке Devise в екосистемі Rails?
Відповідь
Devise — це гнучкий та повноцінний gem для автентифікації в Rails, побудований на Warden. Він надає попередньо налаштовані модулі для обробки реєстрації, входу, відновлення пароля, підтвердження електронної пошти, блокування облікового запису та іншого. Devise є найпопулярнішим рішенням автентифікації в екосистемі Rails завдяки простоті інтеграції та модульності.
2Які модулі Devise найчастіше використовуються в стандартному додатку Rails?
Які модулі Devise найчастіше використовуються в стандартному додатку Rails?
Відповідь
Devise пропонує модульну архітектуру, де кожна функція є окремим модулем. Найпоширеніші модулі: database_authenticatable (автентифікація за паролем), registerable (реєстрація), recoverable (відновлення пароля), rememberable (cookie 'запам'ятати мене'), validatable (валідації email та пароля), confirmable (підтвердження email) та lockable (блокування після невдач).
3Як захистити дію контролера, щоб вона була доступна лише авторизованим користувачам із Devise?
Як захистити дію контролера, щоб вона була доступна лише авторизованим користувачам із Devise?
Відповідь
Devise надає хелпер authenticate_user!, який можна використовувати як before_action у контролерах. Цей фільтр перевіряє, чи увійшов користувач, і перенаправляє на сторінку входу, якщо ні. Його можна застосувати до всіх дій або обмежити за допомогою only чи except. Назва хелпера залежить від моделі (authenticate_admin! для моделі Admin).
Який хелпер Devise дозволяє отримати доступ до поточного авторизованого користувача у в'ю або контролері?
Як налаштувати в'ю Devise (форми входу, реєстрації тощо) у додатку Rails?
+19 питань зі співбесід
Інші теми співбесід Ruby on Rails
Основи Ruby
Об'єктно-орієнтоване програмування в Ruby
Основи Rails
Routing & Controllers
Основи ActiveRecord
Views та шаблони ERB
Асоціації ActiveRecord
Розширені запити ActiveRecord
Форми Rails
Сучасний Asset Pipeline та frontend
Режим API Rails
Тестування з RSpec
ActiveJob & Background Jobs
ActionCable & WebSockets
ActionMailer
ActiveStorage
Стратегії кешування
Розширені міграції
Rails Engines та модульні застосунки
Оптимізація продуктивності
Патерни проєктування Rails
Метапрограмування в Ruby
Безпека Rails
GraphQL із Rails
Розгортання та Продакшн
Monitoring & Logging
Стратегії оновлення Rails
Опануй Ruby on Rails для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно