Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

MediaWiki

Глава 12 из книги "Архитектура приложений с открытым исходным кодом", том 2.
Оригинал: MediaWiki
Автор: Sumana Harihareswara, Guillaume Paumier
Перевод: А.Панин

12.6. Пользователи

Пользователи представлены в коде с помощью экземпляров класса User, который инкапсулирует все специфические для пользователя настройки (идентификатор, имя, права доступа, пароль, адрес электронной почты, и.т.д.). Клиентские классы используют специальные функции для доступа к этим полям; они выполняют всю работу по определению того, осуществил ли пользователь вход в систему и может ли быть установлено значение запрашиваемого параметра с помощью кук или необходим запрос к базе данных. Большая часть параметров, требуемых для формирования стандартных страниц, сохраняется в куках для сокращения количества запросов к базе данных.

Приложение MediaWiki предоставляет очень неоднородную систему прав доступа с устанавливаемыми правами пользователя, в общем, для выполнения любых возможных действий. Например, для выполнения "отката" (т.е., для "быстрой отмены всех операций редактирования последним пользователем определенной страницы") пользователю требуется разрешение с названием "rollback", выданное по умолчанию для группы пользователей "sysop" приложения MediaWiki. Но это разрешение может быть выдано и другим пользовательским группам или исключительно для данного разрешения может быть выделена отдельная группа (этот подход используется в англоязычной энциклопедии Wikipedia в рамках группы Rollbackers). Изменение прав пользователя осуществляется путем редактирования массива $wgGroupPermissions в файле LocalSettings.php; например, объявление $wgGroupPermissions['user']['movefile'] = true; позволяет всем зарегистрированным пользователям осуществлять переименование файлов. Пользователь может быть членом нескольких групп и наследовать наиболее важные права каждой из них.

Однако, система прав пользователей приложения MediaWiki проектировалась с учетом особенностей сайта Wikipedia: сайта с доступным для всех содержимым и с запретом только некоторых действия для некоторых пользователей. В приложении MediaWiki отсутствует унифицированная концепция всеобъемлющих прав доступа; оно не предоставляет таких традиционных возможностей систем управления содержимым вебасйта, как запрет доступа для чтения или записи при указании темы или типа содержимого. Несколько расширений приложения MediaWiki предоставляют такие возможности с некоторыми ограничениями.


Далее: Содержимое статей