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