「MediaWikiの設定について」の版間の差分
提供: wikipokpok
(→特定の権限を与えられたユーザーのみアクセスできる名前空間を作る(特定ページへのアクセス制限)) |
細 ("MediaWikiの設定について" を保護しました。 [edit=autoconfirmed:move=autoconfirmed]) |
||
(6人の利用者による、間の7版が非表示) | |||
1行目: | 1行目: | ||
− | + | == 特定の権限を与えられたユーザーのみアクセスできる名前空間を作る(特定ページへのアクセス制限) == | |
− | + | 新しいグループを作り、そのグループに属するユーザーのみに閲覧編集等の権限を与える。 | |
− | + | === 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の例: | |
− | http:// | + | $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 | ||
== 特別ページの画像リスト等にパーミッションを設定する == | == 特別ページの画像リスト等にパーミッションを設定する == |
2009年1月21日 (水) 08:55時点における最新版
目次
特定の権限を与えられたユーザーのみアクセスできる名前空間を作る(特定ページへのアクセス制限)
新しいグループを作り、そのグループに属するユーザーのみに閲覧編集等の権限を与える。
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に追記する。