Справка:AccessControl 1.1

Материал из База знаний Etersoft
Перейти к: навигация, поиск

Расширение используется для ограничения доступа пользователей к материалам 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");

Примечание: См. обсуждение

  • Проверьте, и при необходимости исправьте настройки в 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

Смотрите также

Взято из [1].