Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:usage:ja:authentication

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
apricot:usage:ja:authentication [2020/09/08 20:44]
y2sunlight [セッション認証]
apricot:usage:ja:authentication [2020/09/08 21:28] (現在)
y2sunlight [AuthControllerクラス]
行 234: 行 234:
 </code> </code>
  
-$this<nowiki>->exclude</nowiki> 配列に含まれているコントローラは認証から除外します。通常は、ここには認証コントローラ( 上例では ''AuthController'' )が含まれます。他には、公開のページやWebAPIなどが含まれる可能性があります。+$this<nowiki>->exclude</nowiki> 配列に含まれているコントローラは認証から除外します。通常は、ここには認証コントローラ( 上例では ''AuthController'' )が含まれます。他には、公開のページやWebAPIなどが含まれます。
  
-''AuthUser::verify()''既に認証されているか否かを調べ、認証されていれば次の処理に制御を渡します。まだユーザ認証されていない場合は、ヘルパー関数 redirect() を呼び出してログインページ画面にリダイレクトします。+''AuthUser::verify()''ユーザが認証されているか否かを調べ、認証されていれば次の処理に制御を渡します。まだユーザ認証されていない場合は、ヘルパー関数 redirect() を呼び出してログインページ画面にリダイレクトします。
  
-ミドルウェアでは、認証のチェックに ''AuthUser::check()''ではなくて、''AuthUser::verify()'' を使用するは、後者のメソッドがログインユーザ情報の更新を行うからです。これによって ''AuthUser'' は常に最新のログインユーザ情報を保持することができます。+ミドルウェアでは、認証のチェックに ''AuthUser::check()''ではなくて、''AuthUser::verify()'' を使用するは、後者のメソッドがログインユーザ情報の更新を行うからです。これによって ''AuthUser'' は常に最新のログインユーザ情報を保持することができます。
  
 \\ \\
行 300: 行 300:
 </code> </code>
  
-> TODO:+''AuthUser::check()'' でユーザが認証されているか否かのチェックを行い、成功の場合は、ヘルパー関数 redirect() でトップ画面にリダイレクトします。 
 + 
 +一方、''AuthUser::check()''が失敗した場合は、''AuthUser::remember()'' で自動ログインを試みます。これが成功した場合は、トップ画面にリダイレクトします。
  
-  * ''AuthUser::check()'' で認証チェックします。 +ザセションもなく、自動ログインに失敗した場合、コントローラーはログインページをレンダングします。
-    * 認証済の場合: +
-      * ヘルパ関数redirect()でトプ画面にリダイレクトします。\\ \\  +
-    * 未認証の場合: +
-      * AuthUser::remember()で自動ログインを試みます。 +
-        * 成功の場合: +
-          * トップ画面リダイレクトします。 +
-        * 失敗場合: +
-          * ログイン画面( login )にダイレクトします。+
  
 \\ \\
行 335: 行 329:
 > TODO: > TODO:
  
-  * バリデーション( validate() )を実行しす。 +Input::all()でログインページから入力変数を取得します。そして、それらの変数をパラメータて ''AuthUser::authenticate()'' でユーザ認証を行います。認証に成功した場合、''AuthUser::getPathAfterLogin()'' でログイン後のに遷移するページのパスを取得し、そこにリダイレクトします。 
-  * バリデーション全体については[[apricot:app:validation|こちら]]を検証ルールについては[[apricot:app:validation#検証ルール|こちらを]]を参照して下さい。 + 
-  * バリデーションでエラーの場合: +認証に失敗した場合は、withInputs()で入力変数をwithErrors()でバリデーションのエラーバッグを、それぞれのフラッシュ変数に保存しログインページにリダイレクトします。
-    * withInputs()で入力変数をフラッシュ変数に保存します。 +
-    * withErrors()でバリデーションエラーバッグをフラッシュ変数に保存します。 +
-    * redirect()でログイン画面にリダイレクトするResponseオブジェクトします。\\ \\  +
-  * Input::all()でフォームデータを取得ます。 +
-  * AuthUser::authenticate() でユーザ認証を行います。 +
-    * 成功した場合: +
-      * AuthUser::getPathAfterLogin()でログイン後の画面を取得し、そこにリダイレクトします。 +
-    失敗した場合: +
-      * withInputs()で入力変数をフラッシュ変数に保存します。 +
-      * withErrors()でバリデーションのエラーバッグをフラッシュ変数に保存します。 +
-      * redirect()でログイン画面にリダイレクトするResponseオブジェクトをします。+
  
 \\ \\
行 365: 行 348:
 </code> </code>
  
-> TODO: +''AuthUser::forget()'' で認証セッションを破棄しログインページにリダイレクトします。
- +
-  *  AuthUser::forget() で認証セッションを破棄します。 +
-  * ログイン画面にリダイレクトします。+
  
 \\ \\
apricot/usage/ja/authentication.1599565461.txt.gz · 最終更新: 2020/09/08 20:44 by y2sunlight