このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
apricot:usage:ja:authentication [2020/09/08 20:03] y2sunlight [認証コントローラ] |
apricot:usage:ja:authentication [2020/09/08 21:28] (現在) y2sunlight [AuthControllerクラス] |
||
---|---|---|---|
行 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アクション === | ||
行 296: | 行 300: | ||
</ | </ | ||
- | > TODO: | + | '' |
+ | |||
+ | 一方、'' | ||
+ | |||
+ | ユーザセッションもなく、自動ログインにも失敗した場合、コントローラーはログインページをレンダリングします。 | ||
+ | |||
+ | \\ | ||
=== loginアクション === | === loginアクション === | ||
行 318: | 行 328: | ||
> TODO: | > TODO: | ||
+ | |||
+ | まず、Input:: | ||
+ | |||
+ | 認証に失敗した場合は、withInputs()で入力変数を、withErrors()でバリデーションのエラーバッグを、それぞれのフラッシュ変数に保存し、ログインページにリダイレクトします。 | ||
+ | |||
+ | \\ | ||
=== logoutアクション === | === logoutアクション === | ||
行 332: | 行 348: | ||
</ | </ | ||
- | > TODO: | + | '' |
\\ | \\ |