現在cakephp4でログイン認証機能を作成しております。
しかしログインに失敗します。
下記がデバッグで見たエラーメッセージです。
APP/Controller/ContactsController.php (line 162)
object(Authentication\Authenticator\Result) id:0 {
protected _status => 'FAILURE_CREDENTIALS_MISSING'
protected _data => null
protected _errors => [
(int) 0 => 'Login credentials not found',
]
}
controllor.php
php
1public function beforeFilter(\Cake\Event\EventInterface $event) 2 { 3 parent::beforeFilter($event); 4 $this->Authentication->allowUnauthenticated(['login']); 5 } 6 7 public function login() 8 { 9 $result = $this->Authentication->getResult(); 10 debug($result, true); 11 // 認証成功 12 if ($result->isValid()) { 13 $target = $this->Authentication->getLoginRedirect() ?? '/home0'; 14 return $this->redirect($target); 15 } 16 // ログインできなかった場合 17 if ($this->request->is('post') && !$result->isValid()) { 18 $this->Flash->error('Invalid username or password'); 19 } 20 }php 21
Application.php
php
1 2 3/////上記省略・・・・・・・・・・・・・・・・・・・・・・・・・・ 4 5 6 7public function getAuthenticationService(ServerRequestInterface $request): AuthenticationServiceInterface 8 { 9 $service = new AuthenticationService(); 10 $service->setConfig([ 11 'unauthenticatedRedirect' => Router::url('/sample/contacts/login'), 12 'queryParam' => 'redirect', 13 ]); 14 $service->loadAuthenticator('Authentication.Session'); 15 $service->loadAuthenticator('Authentication.Form', [ 16 'fields' => [ 17 'username' => 'name', 18 'mail' => 'mail' 19 ], 20 'loginUrl' => '/sample/contacts/login', 21 ]); 22 $service->loadIdentifier('Authentication.Password', [ 23 'fields' => [ 24 'name' => 'name', 25 'mail' => 'mail' 26 ] 27 ]); 28 29 return $service; 30 }
初心者なので原因もいまだに解明できていません。
もしよろしければご回答お願い致します。
あなたの回答
tips
プレビュー