Справка:AccessControl 1.1
Расширение используется для ограничения доступа пользователей к материалам wiki. Это расширение основано на [расширении Group Based Access Control], но лишено его недостатков.
В отличие от оригинального [расширении Group Based Access Control], для обозначения групп используются одинарные кавычки вместо двойных. Нет необходимости использовать ',,' разделитель в конце элемента содержимого. Также возможно использование групп пользователей и встроенных групп MediaWiki одновременно.
Особенности
- легкая установка и обслуживание
- не требует патчей - самостоятельное расширение
- неограниченное количество групп
- двойной режим управления доступом
- просмотр
- редактирование, включая ограничения при ручном вводе адреса с action=edit в строке URL
- группы пользователей могут испоьзовать различные пространства имен
- пространства имен могут быть защищены как сторонним расширением, так и исключительно этим расширением
- в оригинальном Group Based Access Control можно устьановить специальное пространство имен "Usergroup:.." только в переменной расширения
- пространства имен могут быть защищены как сторонним расширением, так и исключительно этим расширением
- mediaWiki sysop-Группа может просматривать и редактировать защищенные страницы
- controlled by extension variable
- доступ может быть предоставлен одновременно множеству групп
- может использоваться для контроля доступа встроенных системных групп MediaWiki одновременно со списками групп пользователей
- доступ только на чтение может быть предосмтавлен как группам, так и конкретным пользователям
- неавторизованные пользователи не видят в результатах поиска защищенные страницы
Пожалуйста, прочитайте о [вопросах безопасности расширений контроля доступа MediaWiki]
Документация
Установка
Шаг 1. Файл локальных настроек
- добавьте следующие строки в конец Вашего файла LocalSettings.php:
require_once("extensions/Accesscontrol-1.1/AccessControl.php");
- добавьте простанство имен в файл LocalSettings.php с целью создания групп.
- загляните в Мануал:Использование пользовательских пространств имен для дополнительной информации.
Примечание: См. обсуждение
- Проверьте, и при необходимости исправьте настройки в AccessControl.php:
$wgAccessControlDisableMessages = false;
если false, отображать строку в верху каждой защищенной страницы, сообщающую, какие группы имеют доступ к запрашиваемой странице.
$wgUseMediaWikiGroups = false;
использовать группы MediaWiki вместо собственных страниц групп пользователей
$wgAdminCanReadAll = true;
sysop users могут читать все защищенные страницы
Шаг 2: Создайте группы пользователей
Группы пользователей являются просто стандартными страницами вики, входящими в пространство имен, отличное от пространства имен по умолчанию. Для удобства использования, предполагается, что специальные пользовательские пространства имен создаются для конкретных целей управления доступом к определенному массиву страниц..
- Создайте Wiki-Страницу со списком пользователей в любом простанстве имен
- не достаточно просто создать страницу с использованием двоеточия (:) в названии. Это расширение требует использования пространства имен и одной или более страницы в составе пространств имен
- Пример названия страницы: Моя:Группа
- Пространство имен - это Моя
- Страница группы - это Группа
- Это имя группы пользователей
- Пользователи добавляются в группу в маркерованном списке
- Пример содержимого страницы
- Предположим, что пространство имен IT существует
- Создайте страницу в пространстве имен с названием "Отдел"
- Создайте пользователя "Иван Доев" и "Яна Доева" в группе. Информация группы содержится на странице "Отдел".
- Каждое имя пользователя должно быть введено как элемент списка
*John Doe
*Jane Doe (ro)
- Пользователь из группы, которая имеет окончание "(ro)" может только просматривать статью, но не может ее менять. Для остальных групп пользователей можно создать список участников также с именем "Отдел", но в другом пространстве имен.
- Tips
- Для защиты пространства имен IT может использоваться, к примеру [Extension:Lockdown], но можно использовать элемент accesscontrol для защиты его самого.
Шаг 3. Дополнительный контроль доступа
- В зависимости от локализации MediaWiki должны быть созданы страницы, на которые будут перенаправлены анонимные или неавторизованные пользователи. Вы должны создать их заранее, потому что для некоторых из них нет доступа с других страниц.
- Безопасность страниц поддерживается элементом accesscontrol. И его содержанием. Если элемента нет, или страница пустая, авторизованные пользователи могут читать и редактировать страницу. Неавторизованные и анонимные пользователи могут только просматривать страницу.
- Участника групп в элементе accesscontrol element могут редактировать страницы, только если после названия группы в списке не стоит "(ro)", или если не установлен доступ только на чтение в ее списке групп.
- Если переменная
$wgUseMediaWikiGroups
установлена в true, можно также управлять доступом встроенных групп MediaWiki. - Если переменная
$wgAllowUserList
установлена в false, только участника 'sysop' группы могут редактировать страницы групп пользователей во всех пространствах имен. - Пример:
<accesscontrol>Administrators,IT:Отдел,Sales(ro)</accesscontrol>
- В этом примере все пользователи групп "Administrators", "IT:Отдел" и "Sales" могут читать страницу, но только пользователи группы "Administrators" MediaWiki (при ее наличии) и Иван Доев из группы "IT:Отдел" могут ее редактировать.
Использование на страницах для контроля доступа
Для установки доступа на страницу определенной группе достаточно включить названия допущенных групп (разделенных запятыми) внутрь тега accesscontrol в теле страницы. Так, если Вы хотите дать доступ пользователям из групп "Administrators", "IT:Отдел" и "Sales", можете использовать следующий синтакс:
<accesscontrol>Administrators,IT:Отдел,Sales (ro)</accesscontrol>
Группа пользователей IT:Отдел, и группы Administrators и Sales могут быть добавлены при помощи [Extension:GroupPermissionsManager]. Участники группы Sales имеют доступ к странице только на чтение.
- Tips
- Если переменная
$wgAccessControlMessages
установлена в true, элемент accesscontrol заменяется предупреждением.
Внимание
- Группы MediaWiki должны быть в нелокализованной форме! Например, 'sysop' не должен быть 'Správce' , и т.д.
- На странице могут быть другие элементы accesscontrol. Доступ предоставляется для всех групп, включенных во все элементы.
- Анонимные пользователи не имеют доступа к страницам, защищенным элементом accesscontrol
- Страницы без защиты анонимные пользователи могут только просматривать
- Авторизованные пользователи имеют доступ к защищенной странице, только если они участники одной из групп с правом доступа к этой странице
- Если переменная
$wgAdminCanReadAll
установлена в true, участники группы 'sysop' имеют постоянный доступ на редактирование страниц
Живой пример
Посмотреть расширение в действии можно здесь (на чешском :)): http://support.dce.felk.cvut.cz/mediawiki/index.php/Support
Совместимость с MediaWiki по версиям
- Версия 1.0 этого расширения оттестирована и прекрасно работает на MediaWiki выше 1.12.x версии
- Версия 1.1 оттестирована на MediaWiki 1.15
Смотрите также
- [расширение Group Based Access Control] - оригинальное расширение контроля доступа
- [расширение EditOnlyYourOwnPage]
- [расширение Page_access_restriction]
Взято из [1].