vorst.ru - Статьи о задачах возникающих при создании сайта и их решении
Статьи помеченные role

Модуль для управления блогом

Блог включает управление комментариями, пользователями, rbac

Новости, сообщения, описания - это все статьи, а статьи - это блог. Блог является важной составляющей любого сайта.

Блог настолько важен, что самая популярная CMS на планете WordPress - это блог.

Во фреймворке блог пишется самостоятельно или используется готовый модуль. Или сначала пишется самостоятельно, а потом переписывается как модуль.


Как определить правило для RBAC

Выполнять действие или нет

В предыдущей статье были определены две роли - Админ и Автор, как в обычном блоге. А обычно блог используется при создании любого сайта. Для ролей Админ и Автор были определены разрешения.

Если вы Админ, то у вас есть общее разрешение create. Оно дает право добавлять данные к любым моделям. Если вы Автор, то такое разрешение давать не стоит. Автор не может, например, добавить новую рубрику.


Определение разрешений на доступ и ролей для пользователей

Задание доступа только к определенным действиям

Разработка бекенда сайта часто подразумевает ограничение прав при редактировании контента.

Ролевая модель имеет иерархию. Сначала прав не много, потом чуть больше, наконец доступно все. Права (или разрешения) - это константы, которые связаны с конкретной ролью. Если за ролью закреплено разрешение, то действие может быть выполнено.


Как подключить RBAC

Подключение ролевого доступа

В большом количестве задач необходимо в backend-части приложения разрешать одним группам пользователей выполнять только определенные действия. Другим может быть разрешено чуть больше. И так далее, до админа.

Именно распределение прав для групп пользователей и будет рассмотрено в паре-тройке статей. В качестве примера будет использоваться всего две роли.



Поиск



Модуль для управления блогом

Блог включает управление комментариями, пользователями, rbac

Новости, сообщения, описания - это все статьи, а статьи - это блог. Блог является важной составляющей любого сайта.

Блог настолько важен, что самая популярная CMS на планете WordPress - это блог.

Во фреймворке блог пишется самостоятельно или используется готовый модуль. Или сначала пишется самостоятельно, а потом переписывается как модуль.


    Поделиться

Модуль sergmoro1/yii2-blog-tools позволяет получить готовую функциональность так-же быстро, как и при установке CMS. Что включает эта функциональность?

Управление блогом

Во-первых панель управления (backend), которую легко расширять и настраивать. Для панели используется bootstrap шаблон SB-admin.

Во-вторых, набор таблиц, которыми можно управлять с помощью этой панели:

  • Статьи
  • Рубрики
  • Метки
  • Комментарии
  • Авторы
  • Пользователи

Пользователь, это тот, кто отвечает за редактирование контента. Чтобы стать Пользователем надо пройти регистрацию.

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

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

Метки это слова, которыми помечаются статьи для быстрой навигации во frontend. Метки можно менять и тогда они будут заменены во всех связных статьях.

Рубрики организованы в виде Вложенного Множества или Nested Sets и могут иметь любое количество уровней вложенности.

Наконец Статьи. При редактировании используется wysiwyg редактор imperavi с уже настроенной возможностью закачивать файлы, изображения и управлять ими. Кроме того, с каждой статьей можно связать несколько изображений, которые потом можно использовать во frontend, например для организации слайдера.

SEO

К блогу подключены SEO инструменты, позволяющие определять любое количество мета-тегов. Значения мета-тегов определяются при редактировании статей.

Настройка

После установки модуля sergmoro1/yii2-blog-tools и его настройки в соответствии с README.md в файле /backend/config/params.php будет определение sidebar меню. Определение может быть расширено или изменено.

Могут быть изменены и другие параметры backend. Например, можно полностью поменять основной layout, разместив его в обычном месте backend/views/layouts вместо указанного в README.md.

return [
  'id' => 'app-backend',
  'basePath' => dirname(__DIR__),
  'defaultRoute' => '/blog/site/index',
  'layoutPath' => '@vendor/sergmoro1/yii2-blog-tools/src/views/layouts',

Авторизация

Модуль включает контроль доступа. Предусмотрено три роли - Администратор, Автор и Комментатор.

Комментатор может оставлять комментарии на сайте и редактировать свой профиль. Права Комментатора получает любой зарегистрировавшийся Пользователь. Автор может размещать статьи и отвечать на комментарии к своим статьям. Администратор может все. Права Администратора может выдать только Администратор. Администратор может блокировать любого Пользователя.

Заключение

Модуль sergmoro1/yii2-blog-tools предназначен для быстрой организации backend. Все модели и часть виджетов могут и должны использоваться во frontend.

Оставить комментарий

Только авторизованные пользователи могут оставлять комментарии. Пожалуйста авторизуйтесь или пройдите регистрацию.