このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン 次のリビジョン 両方とも次のリビジョン | ||
apricot:usage:ja:authentication [2020/09/08 20:03] y2sunlight [認証コントローラ] |
apricot:usage:ja:authentication [2020/09/08 20:49] y2sunlight [セッション認証] |
||
---|---|---|---|
行 194: | 行 194: | ||
セッション認証のミドルウェアは、''/ | セッション認証のミドルウェアは、''/ | ||
- | 以下に、このミドルウェアがどのように[[# | + | 以下に、'' |
{{fa> | {{fa> | ||
行 234: | 行 234: | ||
</ | </ | ||
- | * $this< | + | $this< |
- | | + | |
- | * まだユーザ認証されていない場合は、ヘルパー関数 redirect() を呼び出してログインページ画面にリダイレクトします。 | + | '' |
+ | |||
+ | ミドルウェアでは、認証のチェックに '' | ||
\\ | \\ | ||
行 252: | 行 254: | ||
===== 認証コントローラ ===== | ===== 認証コントローラ ===== | ||
- | セッション認証を使用した場合の認証コントローラ( '' | + | セッション認証を使用した場合の認証コントローラについて説明します。Airpcotのスケルトンでは、認証コントローラとして '' |
==== ルーティング ==== | ==== ルーティング ==== | ||
- | '' | + | '' |
{{fa> | {{fa> | ||
行 264: | 行 266: | ||
$r->get ('/ | $r->get ('/ | ||
</ | </ | ||
+ | |||
+ | * /login (GET) --- ログインページ表示 | ||
+ | * /login (POST) --- ログイン処理 ( ユーザ認証 ) | ||
+ | * /logout --- ログアウト処理 | ||
\\ | \\ | ||
行 271: | 行 277: | ||
セッション認証ではログインページから入力されるユーザアカウントとパスワードでユーザを認証します。また、ログイン時に、ブラウザ終了後もログイン状態を保持するか否かのチェック( Remember-Me )を行うことができます。 | セッション認証ではログインページから入力されるユーザアカウントとパスワードでユーザを認証します。また、ログイン時に、ブラウザ終了後もログイン状態を保持するか否かのチェック( Remember-Me )を行うことができます。 | ||
- | これらの処理は、'' | + | これらの処理は、'' |
- | + | ||
- | 以下に、'' | + | |
=== showFormアクション === | === showFormアクション === | ||
行 297: | 行 301: | ||
> TODO: | > TODO: | ||
+ | |||
+ | * '' | ||
+ | * 認証済の場合: | ||
+ | * ヘルパー関数redirect()でトップ画面にリダイレクトします。\\ \\ | ||
+ | * 未認証の場合: | ||
+ | * AuthUser:: | ||
+ | * 成功の場合: | ||
+ | * トップ画面にリダイレクトします。 | ||
+ | * 失敗の場合: | ||
+ | * ログイン画面( login )にリダイレクトします。 | ||
+ | |||
+ | \\ | ||
=== loginアクション === | === loginアクション === | ||
行 318: | 行 334: | ||
> TODO: | > TODO: | ||
+ | |||
+ | * バリデーション( validate() )を実行します。 | ||
+ | * バリデーション全体については[[apricot: | ||
+ | * バリデーションでエラーの場合: | ||
+ | * withInputs()で入力変数をフラッシュ変数に保存します。 | ||
+ | * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します。 | ||
+ | * redirect()でログイン画面にリダイレクトするResponseオブジェクトをします。\\ \\ | ||
+ | * Input:: | ||
+ | * AuthUser:: | ||
+ | * 成功した場合: | ||
+ | * AuthUser:: | ||
+ | * 失敗した場合: | ||
+ | * withInputs()で入力変数をフラッシュ変数に保存します。 | ||
+ | * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します。 | ||
+ | * redirect()でログイン画面にリダイレクトするResponseオブジェクトをします。 | ||
+ | |||
+ | \\ | ||
=== logoutアクション === | === logoutアクション === | ||
行 333: | 行 366: | ||
> TODO: | > TODO: | ||
+ | |||
+ | * AuthUser:: | ||
+ | * ログイン画面にリダイレクトします。 | ||
\\ | \\ |