私はcakePhp 3でプロジェクトを作っておりログインできません。 $this->Auth->indetify();
はいつもの他の同様の問題を表示false
CakePHP 3.0ログイン毎回偽を返します
を返し、すべてがデータベースvarchar(255)
で私table.password
を作るために助言するが、これは役立ちません。
データベーステーブル:
public function initialize()
{
parent::initialize();
$this->loadComponent('RequestHandler');
$this->loadComponent('Flash');
$this->loadComponent('Auth',[
'loginRedirect' => [
'controller' => 'Users',
'action' => 'index'
],
'logoutRedirect' => [
'controller' => 'Users',
'action' => 'login'
]
]);
と私の/Users/login.ctp
<div class="users form">
<?= $this->Flash->render('auth') ?>
<?= $this->Form->create() ?>
<fieldset>
<legend><?= __('User and Password') ?></legend>
<?= $this->Form->input('username') ?>
<?= $this->Form->input('password') ?>
</fieldset>
<?= $this->Form->button(__('Login')); ?>
<?= $this->Form->end() ?>
</div>
:
CREATE TABLE users (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
person_id BIGINT NOT NULL,
username VARCHAR(50),
password VARCHAR(255),
role VARCHAR(20),
active boolean DEFAULT TRUE NOT NULL
);
機能UsersControllers
public function login() {
if ($this->request->is('post')) {
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error(__('User and Password incorrect'));
}
public function logout() {
return $this->redirect($this->Auth->logout());
}
public function beforeFilter(Event $event)
{
parent::beforeFilter($event);
$this->Auth->allow(['index', 'logout', 'add','login']);
}
のAppControllerでのログインとログアウト
私はチュートリアルに続き、それはこれに連れて行ってくれましたが、どうやら= \
あなたのデバッグモードで、どのようなエラーが表示されているのを確認しますか? –
問題がパスワードにありました。 CakePHPはパスワードの暗号化を読み込もうとしていましたが、私のデータベースには既にデータが入っていました。ありがとう=) –