日記
TypeKey認証でアクセス制御するPukiWiki その2 (16:54)Edit

TypeKeyログインが必要なPukiWiki」みたいな中途半端な対応ではなく、読み書きを完全にTypeKey認証でコントロールするPukiWikiを作ってみた。まだ配布できるレベルまでまとまってないし、Auth::TypeKeyの新バージョンのテストもまだちゃんとやってない(手元の環境で使っていると、ときどき認証がおかしくなる原因追及中)んだけどひとまず実働テストってことで。

ちなみに設定方法としては、pukiwiki.ini.phpに、

/////////////////////////////////////////////////
// TypeKey対応設定
define('TYPEKEY_NEED_EMAIL', TRUE);
define('TYPEKEY_TOKEN', 'Z2CkcIgTyFI6Agf4tH2G');
define('TYPEKEY_WRITERS', '');  //,区切りでTypeKeyのnameを記述
define('TYPEKEY_READERS', 'ishinao');   //,区切りでTypeKeyのnameを記述

なんて感じで設定しておいて、TYPEKEY_WRITERSに編集を許可する人のTypeKey nameをカンマ区切りで、TYPEKEY_READERSに閲覧を許可する人のTypeKey nameをカンマ区切りで記述。空の場合はTypeKey認証を通った人なら誰もOK。

ちなみにTypeKey認証を通らない人にはすべてのアクセスを許可しない。TypeKey認証なしでもアクセスできる設定を許可しようかと思ったんだけど、楽に修正しようとしたらこうなってしまった。PukiWikiのコードって結構コアの部分からアクロバティック(基本的な編集処理とかもプラグイン扱いなのね)なんで、ちゃんと追うのが辛くって。

できるだけ配布可能な形で修正を加えていったんだけど、簡単に差分を配布できるような形にまとめられなかったし、まだ動作確認が十分じゃないのでこの状態でしばらくペンディング。動作確認のために書き込み許可をしてほしい人は、ここのコメントにでもTypeKey nameを書き込んでいってください。暇を見て追加していきます。

とか書いているうちに思いついたけど、どうせならば、

/////////////////////////////////////////////////
// TypeKey対応設定
define('TYPEKEY_NEED_EMAIL', TRUE);
define('TYPEKEY_TOKEN', 'Z2CkcIgTyFI6Agf4tH2G');
define('TYPEKEY_ALLOW_WRITERS', '');    //,区切りでTypeKeyのnameを記述
define('TYPEKEY_DENY_WRITERS', ''); //,区切りでTypeKeyのnameを記述
define('TYPEKEY_ALLOW_READERS', 'ishinao'); //,区切りでTypeKeyのnameを記述
define('TYPEKEY_DENY_READERS', ''); //,区切りでTypeKeyのnameを記述

みたいな設定にした方が幸せになれそうだな。そのうちそういう風に変更しておこう。あと、最終的にはこの許可、拒否設定をTypeKey SNS経由で取得できるようにしたいんだけど、まだその辺まで仕様を煮詰めている余裕がない。

Published At2004-10-27 00:00Updated At2004-10-27 00:00