Authコンポーネントによるログイン認証
更新日 2020-09-08 15:14:33
cakephp3
AppControllerの設定
class AppController extends Controller
{
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler', [
'enableBeforeRedirect' => false,
]);
$this->loadComponent('Flash');
$this->loadComponent('Acl.Acl');
$this->loadComponent('Auth', [
'loginAction' => [
'prefix' => false,
'controller' => 'Users',
'action' => 'login',
],
'loginRedirect' => [
'prefix' => false,
'controller' => 'Pages',
'action' => 'display',
'home',
],
'logoutRedirect' => [
'prefix' => false,
'controller' => 'Users',
'action' => 'login',
],
'authenticate' => [
'Form' => [
'fields' => [
'username' => 'username',
'password' => 'password',
]
]
],
]);
UsersControllerの設定
class UsersController extends AppController
{
public function login() {
if ($this->request->is('post')) {
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
} else {
$this->Flash->error(__('Username or password is incorrect'));
}
}
}
public function logout() {
return $this->redirect($this->Auth->logout());
}
}