公開ページと自分専用のプライベートページをどうやったら分けられますか?
また、任意のページに対する閲覧・編集・検索でアクセス制御を行う方法は?
PukiWiki 1.3の場合は改造が必要になります。
詳細は、dev:PukiWiki/1.3/ちょっと便利に/任意のページごとの閲覧・編集制限を参照してください。
PukiWiki 1.4にはBasic認証による閲覧制限機能や編集制限機能があります。(PHPの制限により基本的には、「ApacheモジュールでPHPが実行されている」場合にしか利用できません)
設定するには、pukiwiki.ini.phpの中の以下の部分を書き換えてください。
$auth_users = array( 'Group1' => 'hogehoge', // 閲覧許可グループ名 => パスワード 'Group2' => 'hegehege', // 編集許可グループ名 => パスワード ); $auth_method_type = "pagename"; // ページ名で制限する $read_auth = 1; // 閲覧制限を有効 (0で無効) $read_auth_pages = array( '/^☆.*$/' => 'Group1', // 閲覧制限の対象ページ(正規表現) => 閲覧許可グループ名 ); $edit_auth = 0; // 編集制限を有効 (0で無効) $edit_auth_pages = array( '/^.*$/' => 'Group2', // 編集制限の対象ページ(正規表現) => 編集許可グループ名 ); $search_auth = 1; // 本文の検索対象を閲覧可能ページだけに制限する (0で無効)
上の例では、「☆」で始まる名前のページの閲覧に認証が必要になり、編集では全てのページで認証が必要になります。
Memo: 説明を簡単にするために閲覧と編集で違うグループ名を割り当てていますが、実際には同じグループを複数の閲覧や編集の許可ルールに割り当てたり、1つの許可ルールへ複数の許可グループを同時設定する事も可能です。(詳しくはPukiWiki/Install/ユーザ認証を参照)
参考までに他にもいくつかの具体例を以下に示します。
$auth_users = array( 'Group1' => 'hogehoge', // 閲覧許可グループ名 => パスワード 'Group2' => 'hegehege', // 編集許可グループ名 => パスワード ); $auth_method_type = "pagename"; // ページ名で制限する $read_auth = 1; // 閲覧制限を有効 (0で無効) $read_auth_pages = array( '/^:.*$/' => 'Group1', // 閲覧制限の対象ページ(正規表現) => 閲覧許可グループ名 ); $edit_auth = 1; // 編集制限を有効 (0で無効) $edit_auth_pages = array( '/^.*$/' => 'Group2', // 編集制限の対象ページ(正規表現) => 編集許可グループ名 ); $search_auth = 1; // 本文の検索対象を閲覧可能ページだけに制限する (0で無効)
$read_auth = 0; $edit_auth = 1;
$edit_auth = 1; $edit_auth_pages = array( '/^[^☆].*$/' => 'Group2', // 編集制限の対象ページ(正規表現) => 編集許可グループ名 );
$edit_auth = 1; $edit_auth_pages = array( '/^((?!^(ゲストブック|練習|掲示板)$).)*$/' => 'Group2', // 編集制限の対象ページ(正規表現) => 編集許可グループ名 );