|
認証による機能制限
認証により、ユーザを特定することで、機能を制限することが可能です。
制限できる機能としては、以下の通りとなっています。
目次
機能を有効にする方法
auth.ini.php にある、以下の箇所を編集します。
また、後述する説明は、全て auth.ini.php ファイルに対して行います。
| 機能制限 | 設定項目 | 省略値 | 設定値 | | 閲覧制限 | $read_auth | 無効 | 0:無効 1:有効 | | 編集制限 | $edit_auth | | 検索制限 | $search_auth |
- auth.ini.php は、Plus! I18N版のみ存在します*1。
機能制限の種別
以下の2種類での制限が可能です。
- $auth_method_type
デフォルトでは、ページ名での制限となっています。ページの内容で制限をかけたい場合には、以下の箇所を修正します。
/////////////////////////////////////////////////
// Authentication method
$auth_method_type = 'pagename'; // By Page name
//$auth_method_type = 'contents'; // By Page contents
対象ページの指定方法
閲覧制限
- $read_auth_pages
閲覧制限したい文字列やページ名を、正規表現で指定します。
$read_auth_pages = array(
// Regex Username
'/:log/' => 'hoge',
'#ひきこもるほげ#' => 'hoge',
'#(ネタバレ|ねたばれ)#' => 'foo,bar,hoge',
);
- i18n rev1699から、以下の定義も可能
$read_auth_pages = array(
// Regex Username or array('user'=>Username,'group'=>Groupname),
'/:log/' => array('group'=>'GroupName'),
'#ひきこもるほげ#' => 'hoge',
'#(ネタバレ|ねたばれ)#' => array('user'=>'foo,bar,hoge'),
);
- i18n rev1705から、以下の定義も可能
$read_auth_pages = array(
// Regex Username or array('user'=>Username,'group'=>Groupname,'role'=>Role),
'/:log/' => array('group'=>'GroupName','role'=>ROLE_AUTH),
'#ひきこもるほげ#' => 'hoge',
'#(ネタバレ|ねたばれ)#' => array('user'=>'foo,bar,hoge'),
);
編集制限
- $edit_auth_pages
閲覧制限と同様に、指定します。
$edit_auth_pages = array(
// Regex Username
'#Barの公開日記#' => 'bar',
'#ひきこもるほげ#' => 'hoge',
'#(ネタバレ|ねたばれ)#' => 'foo,bar,hoge',
);
- i18n rev1699から、以下の定義も可能
$edit_auth_pages = array(
// Regex Username or array('user'=>Username,'group'=>Groupname),
'#Barの公開日記#' => array('group'=>'GroupName'),
'#ひきこもるほげ#' => 'hoge',
'#(ネタバレ|ねたばれ)#' => 'foo,bar,hoge',
);
- i18n rev1705から、以下の定義も可能
$read_auth_pages = array(
// Regex Username or array('user'=>Username,'group'=>Groupname,'role'=>Role),
'/:log/' => array('group'=>'GroupName','role'=>ROLE_AUTH),
'#ひきこもるほげ#' => 'hoge',
'#(ネタバレ|ねたばれ)#' => array('user'=>'foo,bar,hoge'),
);
- i18n rev1699から、閲覧制限がある場合には、編集制限としても条件に加わる仕様となりました*2。
- i18n rev1705から、role での制御が可能となりました。
グループの指定
auth_users.ini.php または、auth_wkgrp.ini.phpにおいて、予め各ユーザをグルーピングする必要があります。
正規表現の例
関連事項
- セキュリティの強化
./wiki/ などに直接アクセスし、Webサーバ側で文書ファイルが直接公開されている状況であれば、これら制限は、何の意味もなしません。Webサーバ側で適切な制限を行うか、以下の文書(ディレクトリの分割(セキュリティの強化、WikiFarmの構築))に書かれているような、公開ディレクトリ上から文書を隠す対応を行うことで、更なるセキュリティ対策が行えます。
- 役割による機能制限
ユーザ毎に制限するのではなく、役割ごとにページの閲覧・編集制限を行いたい場合には、check_roleプラグインを利用することで実現できます。
|
|