有没有办法以编程方式更新特定用户组(与通过Special:UserRights手动进行对比)?
初步情况: 1.使用我的MediaWiki的要求是,特定的mediawiki用户位于两个Active Directory组之一(Domain-MediaWiki_ReadOnly resp.Domain-MediaWiki_ReadWrite)。
MediaWiki用户成功对Active Directory进行身份验证 - 主题工作。
以编程方式获取用户所在的AD组(通过LdapAutoAuthentication.php) - 以局部方式工作。
通过操作LocalSettings.php在MediaWiki中创建两个新用户组 - 以局部方式工作:
$ wgGroupPermissions [' ReadOnly'] [' read'] = true;
$ wgGroupPermissions [' ReadOnly'] [' edit'] = false;
$ wgGroupPermissions [' ReadWrite'] [' read'] = true;
$ wgGroupPermissions [' ReadWrite'] [' edit'] = true;
但是现在,如何以编程方式映射用户,即AD组
绕过' Special:UserRights' (手动将特定用户添加到相关的MediaWiki组)?
你们其中有人有任何想法吗?
答案 0 :(得分: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' ),
),
);