MediaWiki программно обновляет группы пользователей

Есть ли способ программно обновить группу конкретного пользователя (в отличие от ручной обработки через Special: UserRights)?

Исходная ситуация:
1. Требование использовать мой MediaWiki состоит в том, что конкретный пользователь MediaWiki находится в одной из двух групп Active Directory (Domain-MediaWiki_ReadOnly или соответственно Domain-MediaWiki_ReadWrite).

  1. Пользователь MediaWiki успешно проходит аутентификацию в Active Directory — работает тематически.

  2. Получение программно группы AD, в которой находится пользователь (через LdapAutoAuthentication.php) — работает тематически.

  3. Создание двух новых групп пользователей в MediaWiki путем манипулирования LocalSettings.php — работает тематически:

    $ wgGroupPermissions [‘ReadOnly’] [‘read’] = true;

    $ wgGroupPermissions [‘ReadOnly’] [‘edit’] = false;

    $ wgGroupPermissions [‘ReadWrite’] [‘read’] = true;

    $ wgGroupPermissions [‘ReadWrite’] [‘edit’] = true;

  4. Но теперь, как программно отобразить пользователя, который находится в группе AD

    • ‘Domain-MediaWiki_ReadOnly’ для группы MediaWiki ‘ReadOnly’
    • ‘Domain-MediaWiki_ReadWrite’ для группы MediaWiki ‘ReadWrite’

    через обход «Special: UserRights» (чтобы вручную добавить определенного пользователя в соответствующую группу MediaWiki)?

У кого-нибудь из вас есть какие-нибудь идеи?

0

Решение

У меня проблемы с анализом ваших вопросов, но я постараюсь.
* Если члены группы A должны совпадать с членами группы B, это, вероятно, означает, что вы делаете что-то не так: просто назначьте права доступа группы B группе A.
* Если группа A является внешней по отношению к MediaWiki, вы не можете заставить MediaWiki что-то с этим сделать.

Предполагая, что ваш вопрос имеет смысл, решение — $ wgAutopromote. https://www.mediawiki.org/wiki/Manual: $ WgAutopromote
Так, например,

$wgAutopromote = array(
'ReadOnly' => array(
'&',
array( APCOND_AGE, 60 ),
array( APCOND_INGROUPS, 'Domain-MediaWiki_ReadOnly' ),
),
);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]