Расширенные настройки прав доступа и управления компонентами в Joomla 2.5
Все знают, что в Joomla 2.5 существует достаточно мощная система разграничения прав доступа к сайту и к его компонентам.
Поскольку Joomla разрабатывалась как движок для совместного управления, то разработчики хорошенько поработали над этим вопросом.
Объяснять концепцию и теорию ACL (список контроля доступа) я здесь не буду, это достаточно сложная тема и на словах объяснить трудно.
Как нибудь потом...
Здесь мы разберёмся с выставлением новых прав для пользователей Joomla.
В Joomla существует несколько групп пользователей:
- Все - это гости
- Зарегистрированные
- Авторы
- Редакторы
- Издатели
- Менеджеры
- Админы
- Суперадмины - самые главные на сайте
И вы наверное, замечали, что у каждого компонента есть настройка прав:
Так вот, при помощи этих настроек можно разграничить доступ к различным частям и функциям сайта.
Для примера возьмём всё ту же галерею JoomGallery и настроим новые права, а именно:
- Разрешим пользователям создавать свои категории
- Разрешим загружать свои фото и изменять их
- Создадим группу для модераторов и позволим им одобрять или удалять фото
Всё начинается с настроек менеджера пользователей.
Здесь мы выбираем группу для пользователей при регистрации на сайте.
Вообще, конечно, можно создать новую группу и выбрать её, но я не вижу в этом особой необходимости, поэтому здесь оставим "Зарегистрированные".
Также проверьте параметр "Разрешить регистрацию пользователей" - должно стоять "Да".
Далее мы переходим в нужный нам компонент и открываем его общие настройки.
Открываем вкладку "Права", переходим к "Зарегистрированным" и меняем права:
Пойдём по порядку:
- Настраивать - менять настройки компонента - мы не разрешаем.
- Управление компонентом - тоже не разрешаем.
- Загрузить - т.е. загрузить фото в галерею, в любую категорию - не разрешаем.
- Загружать в собственную - т.е. загружать фото в собственную категорию - разрешаем. При этом пользователь будет видеть только свои категории.
- Создавать - т.е. создавать свои категории в галерее - разрешаем.
- Создавать в собственной - т.е. создавать подкатегории в собственной категории - можно было и разрешить, тут на ваше усмотрение.
- Для JoomGallery существует плагин, по-моему AutoCat называется, он при регистрации пользователя, автоматом создаёт для него категорию. Поэтому можно было бы "Создавать" - запретить, а "Создавать в собственной" - разрешить. Так было бы правильнее. Ну да ладно...
- Удалять - т.е. удалять фото из галереи - не разрешим, а то вдруг пользователель окажется злодеем и удалит всё.
- Изменять - т.е. изменять любые фото в галерее - не разрешаем.
- Изменять состояние - т.е. опубликовывать/снимать с публикации фото - не разрешаем
- Изменять свои (фото) - пожалуйста, можно.
После сохранения настроек, зарегистрированные пользователи смогут создавать свои категории в галерее, загружать в них свои фото и при необходимости изменять их.
Дополнительных прав для остальных компонентов Joomla у них нет.
Теперь по плану нам нужно создать новую группу для модераторов.
Это делается в "Пользователи - Группы - Создать новую группу".
Вписывается название группы, и выбирается родительская группа, в нашем случае это группа "Зарегистрированные".
Теперь группа "moderators" будет наследовать права из группы "Зарегистрированные" и мы можем дополнительно создать новые права.
Изначально права задаются в Сайт - Общие настройки - вкладка "Права".
Здесь для группы "moderators" можно разрешить заходить на сайт в режиме техобслуживания.
Далее идём в нужный нам компонент (JoomGallery) и устанавливаем дополнительные права на управление данным компонентом для этой группы.
Здесь мы разрешили для группы "moderators" следующее:
- Удалять - т.е. удалять любые изображения в галерее.
- Изменять - т.е. изменять любые изображения в галерее.
- Изменять состояние - т.е. опубликовывать/снимать с публикации любые изображения.
После сохранения значки прав изменяться на галочки.
То что было доступно группе "Зарегистрированные" передалось группе "moderators".
Таким образом в Joomla 2.5 мы можем управлять доступом к различным компонентам.
Например, можно создать группу, которая будет наполнять определённую часть сайта и определённые категории.
Другая группа может редактировать эти записи. Ещё одна группа может работать с карточками товара, если у вас, например, интернет-магазин и т.д.
Joomla 2.5 предоставляет широкие возможности для этого.