Для чего нужно устанавливать права доступа?

 Как предоставляются права доступа?

 Какие бывают права доступа?

 Какие имеются группы доступа?

 Как управлять настройками прав доступа?

 Как проверить правильность установки прав доступа?

 Создание новой группы

 

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

Для чего нужно устанавливать права доступа?

Все посетители (пользователи сайта) автоматически распределяются по группам. Для чего это делается?

Посетители на сайте могут быть разные: кто-то зайдёт просто посмотреть и, возможно, что-то почитать, а кто-то захочет оставить комментарий к статье, поучаствовать в опросе, написать вопрос или ответ на форуме или даже целую статью и т.д. Именно для этого и нужны группы: весь смысл в том, что каждая группа наделяется определёнными правами, а некоторые пользователи могут быть наделены суперадминистратором какими-либо ещё более серьёзными, специальными правами.

Вот простой пример. На вашем сайте имеется очень большая доска объявлений. Те, кто просто заходит и читает объявления ("гости"), должны иметь минимальные права, т.е. просто посмотреть и почитать. Если же пользователь хочет оставить своё объявление, т.е. получить чуть больше прав, ему необходимо зарегистрироваться. Для чего это нужно? Во-первых, для того, чтобы ваш сайт не забивался всякого рода спамом, оставляемым ботами, а во-вторых, что бы сами пользователи вели себя в соответствии с правилами сайта и чувствовали ответственность за написанное, не писали всякую ерунду, не оскорбляли других пользователей, не применяли в тексте нецензурные выражения и т.п. Если же вы, как суперадминистратор сайта, обнаружите, что кто-то из пользователей нарушает правила, вы можете его просто удалить или заблокировать, чего нельзя сделать с "гостями".

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

Всё это и определяется в разделе Права доступа. Такая вкладка есть во всех материалах, модулях, компонентах. Если основные материалы, о которых шла речь ранее в главах 9 - 13, публикуются, как правило, для всех, то в дальнейшем для некоторых элементов сайта могут быть установлены права доступа только для определённых групп посетителей, т.е. остальным эти элементы показываться не будут. Например, это могут быть редакторы, какие-либо специальные модули, материалы, содержащие информацию только для определённых групп и так далее.

 

Как предоставляются Права доступа?

В CMS Joomla группы пользователей с определёнными правами расположены в порядке иерархии по принципу Родитель > Дочерний элемент (об этой системе уже говорилось в главе 9):

 "родитель"

              > "дочерний элемент  #1"

                    > "дочерний элемент #2"

                         > "дочерний элемент #3"

                               > … ,

при этом важно понять два основных правила.

Для любого верхнего элемента нижний является "дочерним", а для любого нижнего верхний является "родителем".

Все дочерние элементы наследуют свойства родителей.

Что это значит? Например, если изменить что либо в настройках "родителя" (см. схему), то эти изменения коснуться всех ниже расположенных "дочерних" элементов, т.е. эти свойства будут унаследованы. А вот если что-то изменить в одном из "дочерних" элементов, то эти изменения будут унаследованы только ниже расположенными элементами, а те, что находятся выше не изменятся.

 

Какие бывают права доступа?

〉 Разрешено. Имеет суммарное значение Разрешено (пользователю разрешена данная операция).

〉 Запрещено. Имеет суммарное значение Запрещено (данная операция пользователю запрещена).

〉 Унаследовано. Значение унаследовано от "родителя".

 Не определено. Указывает на то, что права не определены. Если в дочерних элементах не указано какое либо другое значение, то данный вариант для этих элементов рассматривается как "Не разрешено" (но и не запрещено, т.е. рассматривается как "разрешение не получено").

 

Какие имеются группы доступа?

По умолчанию установлены 9 групп доступа для пользователей.

 

 

Public. Эта основная группа, верхняя ступень иерархии (рис.174); в эту группу входят все пользователи. Это единственная группа, для которой в настройках выставлены права типа "Не определено" (табл.1, "Р").

Super User. Эта группа суперадминистратора (как правило, для одного человека). Права в этой группе не ограничены, т.е. суперадминистратор может выполнять любые действия на сайте (табл.1, "SU").

Guest.  "Гость". В эту группу, если не были изменены настройки, автоматически попадают все неавторизованные посетители сайта. Группа имеет минимальные права (просмотр материалов, фотоальбомов, форумов и т.д.) (табл.1, "G").

Manager. "Менеджер". Имеет право входить в панель управления, выполнять техобслуживание и другие функции  (табл.1, "M").

Administrator. "Администратор". Не смотря на то, что это дочерний элемент от группы "Менеджер", эта группа имеет разрешение на одну функцию больше  (табл.1, "A").

Registered. "Зарегистрированные пользователи".  В эту группу автоматически (если не были изменены настройки) попадают все зарегистрированные пользователи (табл.1, "R").

Author. "Автор". Дополнительная группа, являющаяся дочерней от Registered. Имеет права создавать и изменять свои материалы (табл.1, "Au").

Editor. "Редактор". Дополнительная группа, являющейся дочерней от Author и Registered. Имеет права обоих вышестоящих групп плюс право изменять материалы  (табл.1, "E").

Publisher. "Издатель". Дополнительная группа, являющейся дочерней от Editor, Author и Registered. Обладает правами вышестоящих групп плюс право изменить состояние (табл.1, "Pu").

 

 Таблица 1. Права доступа для групп пользователей (основные настройки сайта, по умолчанию)

Обозначения: ? - не определено;  = - разрешено; Х - не разрешено; = - запрещено

  P SU G M -A R -Au --E ---Pu
Вход на сайт  ?  = = = = = = = =
Вход в панель управления ? = х = = х х х х
Вход в режиме тех.обслуж. ? = х = = х х х х
Суперадминистратор ? = х х х х х х х
Управление параметрами ? = х х х х х х х
Управление компонентами ? = х х = х х х х
Создать ? = х = = х = = =
Удалить ? = х = = х х х х
Изменить ? = х = = х х = =
Изменить состояние ? = х = = х х х =
Изменить свои ? = х = = х = = =
Изменить значение ? = х х х х х х =

 

При внимательном изучении таблицы может возникнуть вопрос: почему функция "Управление компонентами" разрешена для группы Administrator, если она является дочерней по отношению к группе Meneger? Всё просто: изначально у этой функции в группе Public установлен вариант "Не определено", что расценивается как суммарное значение "Не запрещено", т.е. в этом случае для дочерней группы, находящейся ниже, можно устанавливать любое значение и оно будет работать. Группа Meneger, являющаяся дочерней от Public, наследует тот же вариант - "Не запрещено", поэтому в её дочерней группе Administrator так же можно устанавливать любое значение, что, собственно, и отражено в таблице - установлен вариант "Разрешено". 

Повторим ещё раз несколько важных правил.

 Не путайте понятие "Не разрешено" ("Не определено"), и "Запрещено". "Не разрешено" не означает, что данное действие запрещается! Это значит, что нет конкретно установленного разрешения, т.е. "Не разрешено" и "Не определено" - это одно и тоже! Данное значение наследуется дочерними группами (табл.2).

Таблица 2

ГРУППА УСТАНОВЛЕННОЕ ЗНАЧЕНИЕ РЕЗУЛЬТАТ (суммарное значение)
"Родитель"

Не определено

Не разрешено
"Дочерний элемент #1" Не разрешено (унаследовано) Не разрешено (унаследовано)
"Дочерний элемент #2" Разрешено Разрешено
"Дочерний элемент #3"

Разрешено (унаследовано)

Разрешено (унаследовано)

 

 

 Если в "родительской" группе установлены значения "Не разрешено", "Не определено" или "Разрешено", а в дочерней "Запрещено", то для дочерней группы будет использоваться значение "Запрещено" (табл.3).

 Таблица 3

ГРУППА УСТАНОВЛЕННОЕ ЗНАЧЕНИЕ РЕЗУЛЬТАТ (суммарное значение)
"Родитель"

Не разрешено

Не определено

Не разрешено
"Дочерний элемент" Запрещено Запрещено

 

ГРУППА УСТАНОВЛЕННОЕ ЗНАЧЕНИЕ РЕЗУЛЬТАТ (суммарное значение)
"Родитель" Разрешено Разрешено
"Дочерний элемент" Запрещено Запрещено

 

 Если в группе установлено значение "Запрещено", то такие же значения будут установлены автоматически для все её дочерних (ниже стоящих) групп (табл.4).

Таблица 4

ГРУППА УСТАНОВЛЕННОЕ ЗНАЧЕНИЕ РЕЗУЛЬТАТ (суммарное значение)
"Родитель"

Разрешено

Разрешено
"Дочерний элемент #1" Разрешено (унаследовано) Разрешено (унаследовано)
"Дочерний элемент #2" Запрещено Запрещено
"Дочерний элемент #3"

Запрещено (унаследовано)

Запрещено (унаследовано)
"Дочерний элемент #4" Запрещено (унаследовано) Запрещено (унаследовано)

 Если в "родительской" группе установлено значение "Запрещено", то для дочерней группы будет применено (унаследовано) такое же значение. В таком случае, даже если вы для дочерней группы выставите значение "Разрешено" система будет применять для этой группы унаследованное значение, т.е. "Запрещено" (табл.5).

Таблица 5

ГРУППА УСТАНОВЛЕННОЕ ЗНАЧЕНИЕ РЕЗУЛЬТАТ (суммарное значение)
"Родитель"

Разрешено

Разрешено
"Дочерний элемент #1" Разрешено (унаследовано) Разрешено (унаследовано)
"Дочерний элемент #2" Запрещено Запрещено
"Дочерний элемент #3"

Запрещено (унаследовано)

Запрещено (унаследовано)
"Дочерний элемент #4" Разрешено Запрещено (унаследовано)

 

Как видно из таблицы 5, даже если установить для дочерней группы значение "Разрешено" ("Дочерний элемент #4"), то если в "родительской" группе установлено "Запрещено" ("Дочерний элемент #3", является "родителем" для "Дочернего элемента #4"), то это же значение и будет унаследовано в результате.

Таблица 6

Общая схема наследования значений

ГРУППА УСТАНОВЛЕННОЕ ЗНАЧЕНИЕ РЕЗУЛЬТАТ (суммарное значение)
"Родитель"

Не определено

Не разрешено
"Дочерний элемент #1" Не разрешено (унаследовано) Не разрешено (унаследовано)
"Дочерний элемент #2" Разрешено Разрешено
"Дочерний элемент #3"

Разрешено (унаследовано)

Разрешено (унаследовано)
"Дочерний элемент #4" Запрещено Запрещено
"Дочерний элемент #5" Запрещено (унаследовано) Запрещено (унаследовано)
"Дочерний элемент #6" Разрешено Запрещено (унаследовано)

Как управлять настройками прав доступа?

Самая верхняя ступень настраивается в разделе Система > Общие настройки:

 

 

на вкладке "Права":

 

 

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

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

Как проверить правильность установки прав доступа?

Сделать это абсолютно не сложно! В предыдущей главе было подробно описано, как создать проверочного "пользователя" (глава 16, раздел "Настройка модуля авторизации"), а значит, такой "пользователь" у вас уже есть. Теперь осталось только данного "пользователя" поместить в нужную группу и проверить всё то, что может или не может делать пользователь данной группы. 

Для перемещения "пользователя" в нужную группу зайдите в менеджер пользователей (Пользователи > Менеджер пользователей) и кликните на имя "пользователя". Далее на вкладке  установите нужную группу и нажмите   Сохранить  

Всё, можно проверять! Войдите на сайт под логином "проверочного пользователя", откройте материал, модуль или компонент, для которого вы изменяли права доступа и проверьте как всё работает. Если что-то пошло не так, ищите ошибку - ещё раз внимательно прочитайте принцип и правила работы иерархии групп.

Создание новой группы пользователей

Помимо установленных по умолчанию групп пользователей вы можете создавать и свои собственные группы. Для создания откройте Пользователи > Создать группу (рис.177):

 

 

Введите название группы и определите "родителя" (рис.178):

 

 

Нажмите   Сохранить и закрыть  

И последнее, что нужно сделать - проверить/установить права доступа для этой группы. Пройдите Система > Общие настройки (рис.175) и на вкладке "Права проверьте/установите соответствующие значения (рис.176). Далее вы можете устанавливать соответствующие значения для любых элементов сайта.

Всё вышесказанное относится к группам пользователей и предоставляемым им правам. Но в CMS Joomla есть такое понятие как уровни доступа и нужно хорошо понимать в чём разница между группами и уровнями. Именно этому и будет посвящена следующая глава.

Добавлять комментарии и ответы могут только пользователи, прошедшие регистрацию!
Зарегистрируйтесь и напишите своё мнение или ответ!