Ruby on Rails: Авторизация пользователей

Реализация авторизации

Для предотвращения несанкционированного доступа к функциям редактирования, удаления и добавления постов, добавим проверку авторизации пользователя. Это осуществляется путём добавления проверки в контроллеры.

В PostController, в начале класса, добавим строку:

before_action :authenticate_user!, except: [:index, :show]

Эта строка указывает, что все методы контроллера, кроме index (главная страница) и show (просмотр поста), требуют авторизации. Параметр except задаёт исключения.

Аналогично, можно добавить эту строку в CommentsController для ограничения доступа к добавлению комментариев. В данном примере комментарии доступны всем пользователям:

# before_action :authenticate_user!, except: [:create]

Строка закомментирована, чтобы разрешить добавление комментариев без авторизации.

После добавления этой проверки, попытка добавить, отредактировать или удалить пост без авторизации вызовет ошибку, требующую авторизации. Попытка перейти на страницы редактирования или удаления приведёт к запросу имени пользователя и пароля.

Регистрация осуществляется путём ввода имени пользователя (например, admin) и пароля (например, 123). Успешная регистрация предоставит доступ к функциям добавления, редактирования и удаления постов.

Подведение итогов

В этом видеокурсе мы создали полноценный блог, освоив ключевые моменты фреймворка Ruby on Rails. Мы научились:

  • Создавать посты.
  • Работать с базами данных.
  • Добавлять стили.
  • Создавать формы.
  • Создавать статические и динамические страницы.

Созданный блог — хороший начальный проект для освоения Ruby on Rails. Дальнейшее обучение может включать изучение более сложных деталей и создание собственных проектов. Базовые функции Ruby on Rails были рассмотрены полностью.

Что будем искать? Например,программа