前提・実現したいこと
CakePHP3のAuth認証で、ログインID、パスワードが不正でログイン失敗した時のエラーメッセージと、ログインID、パスワードは正しいけれども、他の条件で(例えば、有効期限が切れている等で)ログイン失敗した場合のエラーメッセージを変えたいです。
何か良い用法がありましたら、ご教授頂けると助かります。
該当のソースコード
AppController.php
php
1class AppController extends Controller{ 2 public function initialize(){ 3 parent::initialize(); 4 $this->loadComponent('Auth', [ 5 'authenticate' => ['Form' => ['finder' => 'auth']], 6 ]); 7 } 8}
UsersTable.php
php
1class UsersTable extends Table{ 2 public function findAuth(\Cake\ORM\Query $query, array $options){ 3 $query 4 ->select(['id', 'username', 'password']) 5 ->where(function ($exp, $q) { 6 return $exp->gte('EndDate', date("Y/m/d H:i:s")) 7 ->lte('StartDate', date("Y/m/d H:i:s")); 8 }); 9 return $query; 10 } 11}
UsersController.php
php
1class UsersController extends AppController{ 2 public function login(){ 3 if ($this->request->is('post')) { 4 $user = $this->Auth->identify(); 5 if ($user) { 6 $this->Auth->setUser($user); 7 return $this->redirect($this->Auth->redirectUrl()); 8 } 9 $this->Flash->error(__('ユーザーIDまたはパスワードが不正です。')); 10 /* $this->Flash->error(__('有効期限切れです')); */ 11 } 12 } 13}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/02 00:48 編集