2016-06-30 11 views
2

私はcakePhp 3でプロジェクトを作っておりログインできません。 $this->Auth->indetify();はいつもの他の同様の問題を表示falseCakePHP 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でのログインとログアウト

私はチュートリアルに続き、それはこれに連れて行ってくれましたが、どうやら= \

+0

あなたのデバッグモードで、どのようなエラーが表示されているのを確認しますか? –

+0

問題がパスワードにありました。 CakePHPはパスワードの暗号化を読み込もうとしていましたが、私のデータベースには既にデータが入っていました。ありがとう=) –

答えて

0

を動作するようにしたことは、愚かに聞こえるかもしれませんが、パスワードは、データベース内のハッシュ化されたり、プレーンテキストで手動でそれを書いたのですか? そうでない場合は、それを確認してください。

+0

つまり、パスワードに問題があります。 CakePHPはパスワードの暗号化を読み込もうとしていましたが、私のデータベースには既にデータが入っていました。ありがとう=) –

0

問題がパスワードにありました。 CakePHPはパスワードの暗号化を読み込もうとしていましたが、私のデータベースには既にデータが入っていました。ありがとう=)

関連する問題