Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:usage:ja:authentication

差分

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

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

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