Как это все работает?

Для понимания структуры, давайте рассмотрим небольшую схему:

структура взаимодействия

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

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

Один модуль может быть подключен сразу к нескольким узлам и наоборот - к одному узлу может быть подключено несколько модулей. Так модули 4 и 5 сразу подключены и к узлу 2.1 и к узлу 2.2.

Теперь давайте рассмотрим правую часть схемы - группы пользователей. Как видно из схемы, они представляют собой такую же иерархическую структуру, как и структура сайта. Каждый пользователь относится к какой-либо группе. Принадлежность к группе определяет права и настройки модулей, которые будут применены к этому пользователю. Самыми "бесправными", конечно же, являются незарегистрированные посетители. Они обладают минимумом прав и для них установлены настройки всех модулей (об этом не нужно заботиться - все это происходит автоматически при установке). Все остальные группы наследуют права и настройки от гостей и друг от друга. Таким образом, группа находящаяся глубже по иерархии не может иметь меньше прав, чем ее родитель, так как она имеет права родителя + свои собственные.

Настройки, в отличие от прав, могут различаться от группы к группе. Например, гостям в форуме может показываться по 10 сообщений на странице, а зарегистрированным пользователям - по 20. В случае если для зарегистрированных пользователей не будут указаны настройки, они будут наследоваться от гостей. Например, группа 2 имеет точно такие же права и настройки как и группа "гости", а группа 1 отличается от гостей только правами и настройками модуля 2, а группа 1.1 отличается от группы 1 настройками модулей 3 и 4.

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

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

 

Всего комментариев: 0

Имя*:

Email: