このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
|
apricot:usage:ja:authentication [2020/09/08 20:01] y2sunlight [ルーティング] |
apricot:usage:ja:authentication [2020/09/08 21:28] (現在) y2sunlight [AuthControllerクラス] |
||
|---|---|---|---|
| 行 194: | 行 194: | ||
| セッション認証のミドルウェアは、''/ | セッション認証のミドルウェアは、''/ | ||
| - | 以下に、このミドルウェアがどのように[[# | + | 以下に、'' |
| {{fa> | {{fa> | ||
| 行 234: | 行 234: | ||
| </ | </ | ||
| - | * $this< | + | $this< |
| - | | + | |
| - | * まだユーザ認証されていない場合は、ヘルパー関数 redirect() を呼び出してログインページ画面にリダイレクトします。 | + | '' |
| + | |||
| + | ミドルウェアでは、認証のチェックに '' | ||
| \\ | \\ | ||
| 行 251: | 行 253: | ||
| ===== 認証コントローラ ===== | ===== 認証コントローラ ===== | ||
| + | |||
| + | セッション認証を使用した場合の認証コントローラについて説明します。Airpcotのスケルトンでは、認証コントローラとして '' | ||
| ==== ルーティング ==== | ==== ルーティング ==== | ||
| - | '' | + | '' |
| {{fa> | {{fa> | ||
| 行 262: | 行 266: | ||
| $r->get ('/ | $r->get ('/ | ||
| </ | </ | ||
| + | |||
| + | * /login (GET) --- ログインページ表示 | ||
| + | * /login (POST) --- ログイン処理 ( ユーザ認証 ) | ||
| + | * /logout --- ログアウト処理 | ||
| \\ | \\ | ||
| 行 269: | 行 277: | ||
| セッション認証ではログインページから入力されるユーザアカウントとパスワードでユーザを認証します。また、ログイン時に、ブラウザ終了後もログイン状態を保持するか否かのチェック( Remember-Me )を行うことができます。 | セッション認証ではログインページから入力されるユーザアカウントとパスワードでユーザを認証します。また、ログイン時に、ブラウザ終了後もログイン状態を保持するか否かのチェック( Remember-Me )を行うことができます。 | ||
| - | これらの処理は、'' | + | これらの処理は、'' |
| - | + | ||
| - | 以下に、'' | + | |
| === showFormアクション === | === showFormアクション === | ||
| 行 294: | 行 300: | ||
| </ | </ | ||
| - | > TODO: | + | '' |
| + | |||
| + | 一方、'' | ||
| + | |||
| + | ユーザセッションもなく、自動ログインにも失敗した場合、コントローラーはログインページをレンダリングします。 | ||
| + | |||
| + | \\ | ||
| === loginアクション === | === loginアクション === | ||
| 行 316: | 行 328: | ||
| > TODO: | > TODO: | ||
| + | |||
| + | まず、Input:: | ||
| + | |||
| + | 認証に失敗した場合は、withInputs()で入力変数を、withErrors()でバリデーションのエラーバッグを、それぞれのフラッシュ変数に保存し、ログインページにリダイレクトします。 | ||
| + | |||
| + | \\ | ||
| === logoutアクション === | === logoutアクション === | ||
| 行 330: | 行 348: | ||
| </ | </ | ||
| - | > TODO: | + | '' |
| \\ | \\ | ||