|
|
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 | + | |
| | | |
| == 特別ページの画像リスト等にパーミッションを設定する == | | == 特別ページの画像リスト等にパーミッションを設定する == |