* アクセス制御 [#c5d325ae]
** 概要 [#a299108e]
+ DBやテキストファイル(HTPASSWD)にユーザIDとパスワードを登録する。
+ 各種アクセス制御モジュールをロードするようにアプリケーションクラスに下のような記述をする。
Authentication
Authentication::Credential::Password
Authentication::Store::Htpasswd
Authorization::Roles
+ アクションクラスに下のような記述をし、ユーザ確認できなければログイン画面に飛ばすようにする。
if (!$c->user_exists) {
$c->res->redirect($c->uri_for('/login'));
return 0;
}
+ アプリケーションルートクラス(MyApp::Controller::Root)のautoメソッドに上のような記述をすれば、全てのアクションクラスにアクセス制御をかけられる。
** ドキュメント [#u90da186]
*** 普通のアクセス制御 [#m9e291e4]
http://search.cpan.org/perldoc?Catalyst::Manual::Tutorial::05_Authentication
*** 役割(role)を持たせたアクセス制御 [#j0aac160]
http://search.cpan.org/perldoc?Catalyst::Manual::Tutorial::06_Authorization
*** ロールの具体的な設定方法 [#q773a7a5]
選択したストアモジュールのマニュアルのroleの項を参考にする。
- Catalyst::Plugin::Authentication::Store::DBIC
- Catalyst::Plugin::Authentication::Store::Htpasswd::User
- など
** Catalyst::Plugin::Authentication::Store::Htpasswd [#tfd5ac75]
ロールはHTPASSWDファイルの第3フィールドにカンマ区切りで記述する。詳しくは[[ここ>http://search.cpan.org/perldoc?Catalyst::Plugin::Authentication::Store::Htpasswd::User]]。