cakephp3でログイン認証(Auth)を行おうとしているのですが、
必ずログインに失敗してしまいます。
どこがうまく設定できていないのか、アドバイスを頂けないでしょうか?
【環境】
localhost環境
OS:Windows7 Professional 32ビット
CakePHP :v3.2.1
PHP :5.6.15
【登録テーブル】
CREATE TABLE `users` ( `id` int(11) NOT NULL COMMENT 'ユーザーID', `employee_no` varchar(6) NOT NULL COMMENT 'ログインIDとして使用する', `password` varchar(255) NOT NULL COMMENT 'ログインに使用するパスワード', `name` varchar(20) NOT NULL COMMENT '社員の名前', ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
【usersテーブルに登録してあるデータ】
id :1
employee_no :000001
password :test01test01
name :テスト 太郎
【/src/Controller/AppController.php】
public function initialize() { parent::initialize(); $this->loadComponent('RequestHandler'); $this->loadComponent('Flash'); $this->loadComponent('Auth', [ 'authenticate' => [ 'Form' => [ 'fields' => [ 'username' => 'employee_no', 'password' => 'password' ] ] ], 'loginAction' => [ 'controller' => 'Users', 'action' => 'login' ], 'loginRedirect' => [ 'controller' => 'Users', 'action' => 'index' ], 'logoutRedirect' => [ 'controller' => 'Users', 'action' => 'login', ] ]); }
【/src/Controller/UsersController.php】
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('ログインエラーです'); } } }
【/src/Template/Users/login.ctp】
<h1>Login</h1> <?= $this->Form->create() ?> <?= $this->Form->input('employee_no') ?> <?= $this->Form->input('password') ?> <?= $this->Form->button('Login') ?> <?= $this->Form->end() ?>
これでログイン画面にて
employee_no :000001
password :test01test01
を入力すると「ログインエラーです」が表示され、ログインができません。
パスワードのハッシュ化などは特にいじっていないのですが、
そこが怪しいのかなと思い、AppController.phpとlogin.ctpのpasswordの部分を
外しても同様の結果となってしまいました。
申し訳ありませんが、ご教授のほどよろしくお願いします。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。