среда, 13 июля 2011 г.

ACL (Access Control List) в Joomla 1.6. Права доступа в Joomla 1.6. (продолжение)

Доброго времени суток, читатели блога zloykolobok.blogspot.com. В предыдущем посте мы рассмотрели основные понятия касающиеся ACL в CMS Joomla 1.6, поставили задачу и накидали план ее решения. В этом посте мы решим поставленную задачу. Ну что ж, начнем...
В предыдущем посте мы составили план решения нашей задачи:
  1. Составим план решения данной задачи:
  2. Создадим категорию «Рефераты».
  3. Создадим подкатегории «По математике», «По астрономии», «По философии», родителем для которых будет категория «Рефераты».
  4. Создадим по три статьи в каждой категории.
  5. Создадим меню и добавим модуль отображения данного меню.
  6. Создадим три группы пользователей:
    • lv_math;
    • gr_math и назначим разрешения;
    • gr_astr и назначим разрешения;
    • gr_phil и назначим разрешения.
  1. Cоздадим три уровня доступа:
    • lv_math;
    • lv_astr;
    • v_phil.
  1. Создадим в каждой группе по пользователю.
  2. Распределим уровни доступа в соответствии с поставленной задачей.
  3. Распределим права доступа с поставленной задачей.

Давайте попробуем решить нашу задачу.
На пунктах 1-3 я не буду подробно останавливаться, так как они подробно описаны в посте «Добавление материалов в Joomla 1.6».
Создание меню и добавление модуля для отображения данного меню описано в посте «Создание меню в Joomla 1.6».
Перейдем к пункту 5. Создадим три группы пользователей и назначим каждой права доступа. Для этого переходим: Пользователи->Группы:
Менеджер пользователей: Группы пользователей.
В окне «Менеджер пользователей: Группы пользователей» жмем создать:
Менеджер пользователей: Создать группу.

В окне «Менеджер пользователей: Создать группу»:
  • в поле «Название группы» вводим название группы, для математиков – gr_math;
  • в поле «Входит в группу» ставим родительскую группу, в нашем случае это «Public»;
  • Жмем «Сохранить и закрыть».

Аналогичное проделываем и для групп gr_astr -- астрономов и gr_phil – философов. У нас появилось три группы у которых родительской группой является «Public».
Список групп пользователей.
Осталось назначить глобальные права для вновь созданных групп.  Для этого переходим в:  Сайт->Общие настройки->Права:
Настройка прав доступа (глобальные).

Устанавливаем для каждой вновь созданной группы права:
  • в поле «Вход на сайт»: «Разрешено»;
  • в поле «Вход в панель»: «Запретить»;
  • в поле «Суперадминистратор»: «Запретить»;
  • в поле «Доступ к компоненту»: «Запретить»;
  • в поле «Создавать»: «Разрешено»;
  • в поле «Удалять»: «Разрешено»;
  • в поле «Изменять»: «Разрешено»;
  • в поле «Изменять состояние»: «Разрешено»;
  • в поле «Изменять свои»: «Разрешено»;
  • жмем «Сохранить».

Должно получиться как на рисунке, приведенном ниже:
Права доступа для группы "gr_astr".

Аналогично делаем и для других групп.
Для того чтобы создать уровни доступа необходимо перейти в меню: Пользователи->Уровни доступа:
Менеджер пользователей: Уровни доступа.
В окне «Менеджер пользователей: уровни доступа» нажать кнопку «Создать»:
Менеджер пользователей: Создать уровень доступа.
В окне «Менеджер пользователей: Создать уровень доступа»:
  • в поле «Название уровня» вводим название уровня, для математиков вводим «lv_math»;
  • в разделе «Группы пользователей, имеющих право доступа» выбираем группу «Public» и соответствующую группу для уровня доступа, например для  «lv_math» выбираем группу  «Public» и «gr_math»;
  • жмем «Сохранить и создать».

Повторям для уровней доступа lv_astr – для астрономии и lv_phil – для философов.
На этом создание уровней доступа закончено.
И вот наступил черед пункта 7. Давайте создадим пользователей для каждой нашей группы. Переходим: Пользователи->Менеджер пользователей:
Менеджер пользователей: Пользователи.
В окне «Менеджер пользователей: Пользователи» жмем кнопку «Создать»:
Менеджер пользователей: Добавить пользователя.

В окне «Менеджер пользователей: Создать пользователя» вводим следующие данные:
  • в поле «Имя» вводим имя пользователя, например, для математиков «mathematic»;
  • в поле «Логин» вводим логин пользователя, «mathematic»;
  • в поле «Пароль» вводим пароль для пользователя;
  • в поле «Повтор пароля» повторяем пароль;
  • в поле «E-mail» вводи e-mail адрес нашего пользователя;
  • в разделе «Назначенные группы пользователей» вносим нашего пользователя в соответствующую группу, для математика – в «gr_math»;
  • Жмем «Сохранить и создать».

Аналогично создаем пользователей для групп «gr_astr»и «gr_phil».
Теперь давайте разберемся с уровнем доступа для каждой категории. Каждой нашей категории присвоим свой уровень доступа:
  • По астраномии – lv_astr;
  • По математике – lv_math;
  • По философии – lv_phil.

Для этого заходим в каждый раздел для редактирования и в поле «Доступ» ставим соответствующий уровень доступа.
Итак, с уровнями доступа мы разобрались. Осталось выставить права доступа для каждой категории, соответствующие поставленной задаче. Ну, что приступим:
Переходим в окно «Менеджер категорий: Изменить категорию материалов» и в разделе «Права доступа к категории» выставить соответствующие права. Так, например, для категории «Математика» в группе «gr_astr» и «gr_phil» запретим все.
Выставление разрешений в группе.

А в группе «gr_math» ничего не меняем, т.к. по умолчанию стоит разрешение «Унаследовать». А в глобальных настройках мы уже дали данной группе необходимые права.
Аналогично и для категории «Астрономия» в группах «gr_math» и «gr_phil» запрещаем все, а разрешения в группе  «gr_astr» не трогаем.
Тоже самое сделаем и для категории «Философия».
На этом настройка ACL в Joomla 1.6, соответствующая нашей задаче, закончена.
В следующей статье немного изменим нашу задачу и попытаемся ее реализовать.
Всем удачи и успехов в освоении CMS Joomla.

Понравилась статья? Поблагодарить автора:

Введите e-mail адрес:



2 комментария:

  1. Отличная статья, спасибо! Жаль не использую Яндекс.Деньги)

    ОтветитьУдалить
  2. А как сделать что бы студент при регистрации мог выбрать факультет?
    Как добавить поле "Факультет" в профиль и список допустимых значений?

    ОтветитьУдалить