用户权限管理

来自开放百科 - 灰狐
跳转到: 导航, 搜索

以下内容引用自:http://windwood.xmu.edu.cn 的http://www.windwood.name/mywork/archives/000364.html

限制MediaWiki系统匿名用户的权限 | WebSite 昨天安装了一个MediaWiki系统(Wikipedia就是基于这个系统的)。但是它的默认配置是,网站内容对于匿名用户(也就是任何访问网站的用户)都是可读且可写的,而且匿名用户可以注册用户。

为了网站内容的安全性,必须限制匿名用户的这些权限,即匿名用户不可编辑网站内容;同时必须加强用户的管理,只有管理员才能创建新用户。经过这样配置之后的动态网站才是可以控制的(毕竟在管理人员不足的情况下是无法相信访问者的自觉性的)。


} serHasRight); } return $allowed; }


看来一个用户是否有权限创建用户取决于$wgWhitelistAccount这个数组了。而这个数组又是定义在DefaultSetttings.php里的,原先的设定如下:

$wgWhitelistAccount = array ( 'user' => 1, 'sysop' => 1, 'developer' => 1 );

结合上面的代码可以得知$wgWhitelistAccount里存放的是各个用户组是否可以创建用户的权限值,而任何用户包括匿名用户都属于user组。因此只要将数组中的'user' => 1删除,就可以使得匿名用户不能创建用户。

在DefaultSettings.php里面的设置还有:

$wgWhitelistEdit = false; $wgWhitelistRead = false;

第一个设置成true则用户必须要登录后才能编辑,同理第二个则是要用户必须在登录后才能阅读网站的内容。

在设置完了DefaultSettings.php之后,所要求的一些安全特性也就有了。

后来考虑其实LocalSettings.php似乎是用来覆盖DefaultSettings.php的设置的,不妨可以把一些自定义的选项设置到LocalSettings.php中去。


在1.5.2版本中,在LocalSettings.php这个文件中加入:

$wgGroupPermissions['*' ]['createaccount'] = false; 取消匿名用户注册帐号的权力。

$wgGroupPermissions['*' ]['edit'] = false; 取消匿名用户编辑条目的权力。

就可以达到相应的效果。通过类似的设置,应该可以在wiki中建立完善的权限控制。

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱