「MediaWikiの設定について」の版間の差分

提供: wikipokpok
移動先: 案内検索
(特定の権限を与えられたユーザーのみアクセスできる名前空間を作る(特定ページへのアクセス制限))
1行目: 1行目:
kI3t5C  <a href="http://elcdfmipbcqo.com/">elcdfmipbcqo</a>, [url=http://khrtxwelcjnd.com/]khrtxwelcjnd[/url], [link=http://lczsoiyftjkj.com/]lczsoiyftjkj[/link], http://xwbikortjqzz.com/
+
== 特定の権限を与えられたユーザーのみアクセスできる名前空間を作る(特定ページへのアクセス制限) ==
 +
新しいグループを作り、そのグループに属するユーザーのみに閲覧編集等の権限を与える。
 +
=== 1,新しいグループを作成する ===
 +
LocalSettings.phpに$wgGroupPermissionsを追記する。<br />
 +
 +
<pre>
 +
$wgGroupPermissions['groupname']['move']            = true;
 +
$wgGroupPermissions['groupname']['read']            = true;
 +
$wgGroupPermissions['groupname']['edit']            = true;
 +
$wgGroupPermissions['groupname']['createpage']      = true;
 +
$wgGroupPermissions['groupname']['createtalk']      = true;
 +
$wgGroupPermissions['groupname']['upload']          = true;
 +
$wgGroupPermissions['groupname']['reupload']        = true;
 +
$wgGroupPermissions['groupname']['reupload-shared'] = true;
 +
$wgGroupPermissions['groupname']['minoredit']      = true;
 +
</pre>
 +
特別ページのユーザー権限の管理に反映されたgroupnameを、登録ユーザーに割り当てる。。
 +
 
 +
=== 2,新しい名前空間を作成する ===
 +
LocalSettings.phpに$wgExtraNamespaces,$wgNamespacesWithSubpages, and $wgNamespacesToBeSearchedDefaultを追記する。<br />
 +
 +
$wgExtraNamespaces =
 +
      array(100 => "Hilfe",         #スペースは使えない
 +
            101 => "Hilfe_Diskussion",
 +
            102 => "Aide",
 +
            103 => "Discussion_Aide"
 +
            );
 +
 
 +
<var>$wgNamespacesWithSubpages</var><br />
 +
MediaWiki 1.4.x and olderの例:
 +
$wgNamespacesWithSubpages =
 +
        array( -1 => 0, 0 => 0, 1 => 1, 2 => 1, 3 => 1,
 +
              4 => 0, 5 => 1, 6 => 0, 7 => 1,
 +
              8 => 0, 9 => 1, 10 => 0,11 => 1,
 +
              '''100 => 1, 101 => 1''' );
 +
MediaWiki 1.5.xの例:
 +
$wgNamespacesWithSubpages = array(
 +
NS_TALK          => true,
 +
  NS_USER          => true,
 +
  NS_USER_TALK      => true,
 +
  NS_PROJECT_TALK  => true,
 +
  NS_IMAGE_TALK    => true,
 +
  NS_MEDIAWIKI_TALK => true,
 +
  NS_TEMPLATE_TALK  => true,
 +
  NS_HELP_TALK      => true,
 +
  NS_CATEGORY_TALK  => true,
 +
  '''100              => true,'''
 +
  '''101              => true'''
 +
);
 +
 
 +
<var>$wgNamespacesToBeSearchedDefault</var><br />
 +
MediaWiki 1.4.x and olderの例:
 +
$wgNamespacesToBeSearchedDefault =
 +
        array( -1 => 0, 0 => 1, 1 => 0, 2 => 0, 3 => 0,
 +
                4 => 0, 5 => 0, 6 => 0, 7 => 0,
 +
                8 => 0, 9 => 1, 10 => 0, 11 => 1,
 +
                '''100 => 1, 101 => 1''' );
 +
 
 +
MediaWiki 1.5.xの例:
 +
$wgNamespacesToBeSearchedDefault = array( -1 => 0, NS_MAIN => 1, NS_USER => 0,
 +
  NS_USER_TALK => 0, NS_PROJECT_TALK => 0, NS_IMAGE_TALK => 0,
 +
  NS_IMAGE_TALK => 0, NS_TEMPLATE_TALK => 0, NS_HELP_TALK => 0,
 +
  NS_CATEGORY_TALK => 0,
 +
  '''100 => 1, 101 => 1''' );
 +
 
 +
=== 3,Title.php (includes/Title.php)を書き換える ===
 +
Title.php (old)
 +
 
 +
if( $wgUser->isAllowed('read') ) {
 +
return true;
 +
} else {
 +
global $wgWhitelistRead;
 +
Title.php (new)
 +
 
 +
if( $wgUser->isAllowed('read') ) {
 +
        if( $this->getNamespace() == 100 ) {
 +
if( $wgUser->isAllowed('viewforbidden') ) {
 +
return true;
 +
} else {
 +
return false;
 +
}
 +
} else {
 +
return true;
 +
}
 +
} else {
 +
 +
global $wgWhitelistRead;
 +
 
 +
===4,LocalSettings.phpを編集する===
 +
 
 +
$wgGroupPermissionsを追記する。
 +
 
 +
$wgGroupPermissions['groupname']['viewforbidden'] = true;
 +
 
 +
以上で、グループを与えられたユーザーしか、その名前空間にアクセスできできなくなる。
 +
 
 +
=== 参考ページ ===
 +
http://meta.wikimedia.org/wiki/Preventing_Access
  
 
== 特別ページの画像リスト等にパーミッションを設定する ==
 
== 特別ページの画像リスト等にパーミッションを設定する ==

2008年12月2日 (火) 21:16時点における版

特定の権限を与えられたユーザーのみアクセスできる名前空間を作る(特定ページへのアクセス制限)

新しいグループを作り、そのグループに属するユーザーのみに閲覧編集等の権限を与える。

1,新しいグループを作成する

LocalSettings.phpに$wgGroupPermissionsを追記する。

$wgGroupPermissions['groupname']['move']            = true;
$wgGroupPermissions['groupname']['read']            = true;
$wgGroupPermissions['groupname']['edit']            = true;
$wgGroupPermissions['groupname']['createpage']      = true;
$wgGroupPermissions['groupname']['createtalk']      = true;
$wgGroupPermissions['groupname']['upload']          = true;
$wgGroupPermissions['groupname']['reupload']        = true;
$wgGroupPermissions['groupname']['reupload-shared'] = true;
$wgGroupPermissions['groupname']['minoredit']       = true;

特別ページのユーザー権限の管理に反映されたgroupnameを、登録ユーザーに割り当てる。。

2,新しい名前空間を作成する

LocalSettings.phpに$wgExtraNamespaces,$wgNamespacesWithSubpages, and $wgNamespacesToBeSearchedDefaultを追記する。

$wgExtraNamespaces =
      array(100 => "Hilfe",         #スペースは使えない
            101 => "Hilfe_Diskussion",
            102 => "Aide",
            103 => "Discussion_Aide"
            );

$wgNamespacesWithSubpages
MediaWiki 1.4.x and olderの例:

$wgNamespacesWithSubpages = 
       array( -1 => 0, 0 => 0, 1 => 1, 2 => 1, 3 => 1,
              4 => 0, 5 => 1, 6 => 0, 7 => 1, 
              8 => 0, 9 => 1, 10 => 0,11 => 1,
              100 => 1, 101 => 1 );

MediaWiki 1.5.xの例:

$wgNamespacesWithSubpages = array(
	NS_TALK           => true,
 	NS_USER           => true,
 	NS_USER_TALK      => true,
 	NS_PROJECT_TALK   => true,
 	NS_IMAGE_TALK     => true,
 	NS_MEDIAWIKI_TALK => true,
 	NS_TEMPLATE_TALK  => true,
 	NS_HELP_TALK      => true,
 	NS_CATEGORY_TALK  => true,
 	100               => true,
 	101               => true
);

$wgNamespacesToBeSearchedDefault
MediaWiki 1.4.x and olderの例:

$wgNamespacesToBeSearchedDefault =
       array( -1 => 0, 0 => 1, 1 => 0, 2 => 0, 3 => 0,
               4 => 0, 5 => 0, 6 => 0, 7 => 0,
               8 => 0, 9 => 1, 10 => 0, 11 => 1,
               100 => 1, 101 => 1 );

MediaWiki 1.5.xの例:

$wgNamespacesToBeSearchedDefault = array( -1 => 0, NS_MAIN => 1, NS_USER => 0,
  NS_USER_TALK => 0, NS_PROJECT_TALK => 0, NS_IMAGE_TALK => 0, 
  NS_IMAGE_TALK => 0, NS_TEMPLATE_TALK => 0, NS_HELP_TALK => 0, 
  NS_CATEGORY_TALK => 0, 
  100 => 1, 101 => 1 );

3,Title.php (includes/Title.php)を書き換える

Title.php (old)

		if( $wgUser->isAllowed('read') ) { 
			return true;
		} else {
			global $wgWhitelistRead;

Title.php (new)

		if( $wgUser->isAllowed('read') ) { 
		        if( $this->getNamespace() == 100 ) {
				if( $wgUser->isAllowed('viewforbidden') ) {
					return true;
				} else {
					return false;
				}
			} else {
				return true;
			}
		} else {
			
			global $wgWhitelistRead;

4,LocalSettings.phpを編集する

$wgGroupPermissionsを追記する。

$wgGroupPermissions['groupname']['viewforbidden'] = true;

以上で、グループを与えられたユーザーしか、その名前空間にアクセスできできなくなる。

参考ページ

http://meta.wikimedia.org/wiki/Preventing_Access

特別ページの画像リスト等にパーミッションを設定する

$wgGroupPermissions['sysop']['imagelist']   = true;
$wgGroupPermissions['sysop']['newimages']   = true;
$wgGroupPermissions['sysop']['log']   = true;

LocalSettings.phpに追記する。