Права доступа
Списки доступа
Каждая страница имеет три списка доступа (ACLs) — чтение, изменение и комментирование, управлять которыми может владелец страницы (обычно это тот, кто ее создал).
Все ACLs это простые текстовые списки, содержащие несколько или одно ИмяПользователя или символ *, что значит «для всех».
Для того, чтобы добавить несколько групп или пользователей, необходимо каждое имя размещать на отдельной строке.
Восклицательный знак означает «не» — то есть !* означает «никто не имеет доступа». Это работает и для ИмяПользователя.
Пустой список означает «никто не имеет доступа, кроме владельца».
Пример:
Если write ACL содержит только строчку SomeGuy, то только SomeGuy может изменять документ, никто более. Если он содержит строчку со * и другую строчку с !SomeGuy, это значит, что писать могут все, кроме SomeGuy.
Символ $ означает — доступ только для зарегистрированных пользователей.
Три базовых ACLs доступны для каждой страницы сайта; специфические PageHandlers могут добавлять еще какие-то ACLs — пока в ваке нет таких специфических handlers.
Кроме этого:
- если у вас нет доступа к данной странице, ссылка на неё будет серой и рядом с ссылкой нарисуется «замочек».
- если у данной страницы стоит доступ на чтение, отличный от просто «звёздочки» (*), то об этом — о том, что доступ к странице ограничен — вам сигнализирует иконка «ключика». Эти две маленькие уловки помогают вам и другим посетителям ориентироваться, кому вы дали доступ и где.
Группы
Система поддерживает группы пользователей. Создавать и изменять группы пользователей может только администратор.
Чтобы создать группу, необходимо в конфигурационный файл config.php вписать что-то типа такого:
Это создаст группу Admins с единственным членом RomanIvanov и группу WorkGroup с членами RomanIvanov и AlekseyKulakov.
Названия групп регистронезависимые.
Группа Admins – особая, входящие в неё пользователи получают права администратора и могут, например, удалять и переименовывать любую страницу.
Права по умолчанию и наследование прав
Права доступа для каждой создаваемой страницы определются следующим образом:
- если эта страница – корневая (то есть не содержит в имени символ «/») либо не имеет родительской, то используются ACLs «по умолчанию», которые задаются параметрами
конфигурационного файла config.php. - если же страница суть дочерняя, то ACLs наследуются от родительской страницы.
- Обратите внимание, что наследование ACLs происходит при создании страницы