WOX.IN.UA - форум web розробників

Вітаємо на нашому форумі! Тут ви зможете обговорювати останні тенденції технологій, вирішувати завдання та обмінюватися досвідом з іншими розробниками.

WOX — це місце, де кожен може знайти щось корисне, навчитися новому та знайти відповіді на свої питання!

Стаття Автентифікація користувачів у Rails з Devise

  • Автор теми LITVINOV
  • Дата створення
  • Автор теми
  • Адміністратор
  • Модератор
  • #1
Огляд бібліотеки Devise

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

Додавання автентифікації користувачів до додатку

Крок 1:
Встановлення Devise

Перш за все, необхідно додати Devise до вашого Gemfile:

Ruby:
gem 'devise'

Після цього виконайте команду:

Код:
bundle install

Крок 2: Налаштування Devise

Далі, запустіть генератор Devise:

Код:
rails generate devise:install

Ця команда створить конфігураційний файл config/initializers/devise.rb та інші необхідні файли.

Після цього, зверніть увагу на повідомлення, які ви отримали після виконання команди. Вони можуть містити корисну інформацію про подальші налаштування.

Крок 3: Додавання моделі користувача

Тепер ви готові створити модель користувача. Виконайте наступну команду:

Код:
rails generate devise User

Це створить модель User з полями, необхідними для автентифікації. Не забудьте запустити міграцію для створення таблиці користувачів у базі даних:

Код:
rails db:migrate

Крок 4: Налаштування маршрутизації

Щоб налаштувати маршрути для Devise, відредагуйте файл config/routes.rb наступним чином:

Ruby:
Rails.application.routes.draw do
  devise_for :users
  # ваші інші маршрути
end

Крок 5: Додавання Devise до контролерів та виглядів

Devise надає можливість швидко створити шаблони для реєстрації, входу та інших дій. Для цього виконайте команду:

Код:
rails generate devise:views

Ця команда створить набір шаблонів у папці app/views/devise, які ви зможете змінювати на свій розсуд.

Крок 6: Захист контролерів

Щоб обмежити доступ до певних контролерів тільки для автентифікованих користувачів, використовуйте фільтр before_action:

Ruby:
class SomeController < ApplicationController
  before_action :authenticate_user!
  
  def index
    # ваш код
  end
end

Висновок

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