**認証による閲覧制限をかけた秘密ページは出来ますか? [#a48f97a2]
-種別 : 運用
-バージョン : --
***質問 [#d706b659]
公開ページと自分専用のプライベートページをどうやったら分けられますか?~
また、任意のページに対する閲覧・編集・検索でアクセス制御を行うには?
また、任意のページに対する閲覧・編集・検索でアクセス制御を行う方法は?


***回答 [#h4721cc4]
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', // 編集制限の対象ページ(正規表現) => 編集許可グループ名
 );

~
:Reference|
[[正規表現]]~
[[Q&A/運営]]~
[[PukiWiki/Install/ユーザ認証]]~
[[質問箱/308]]~
[[dev:PukiWiki/1.3/ちょっと便利に/任意のページごとの閲覧・編集制限]]~
[[dev:PukiWiki/1.4/ちょっと便利に/任意のページごとの閲覧・編集制限]]~

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Site admin: PukiWiki Development Team

PukiWiki 1.5.4+ © 2001-2022 PukiWiki Development Team. Powered by PHP 5.6.40-0+deb8u12. HTML convert time: 0.158 sec.

OSDN