$ this-> auth-> login()不工作

时间:2016-02-17 12:25:22

标签: cakephp cakephp-2.0

大家好我想在我成功将用户数据添加到数据库后尝试登录,但是登录不起作用,我是cakephp的新手。请帮帮我。 这是代码

AppController的:

class AppController extends Controller {
public $components = array(
   'DebugKit.Toolbar' ,'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'users', 'action' => 'index'),
        'logoutRedirect' => array('controller' => 'users', 'action' => 'login')
    )
);}

UsersController:

public function login(){
    if ($this->request->is('Post')) {
        if ($this->Auth->login()) {
            return $this->redirect($this->Auth->redirectUrl());
        }//$this->Flash->error(__('Invalid username or password, try again'));
    }
}

login.ctp:

<?php
echo $this->Form->create('User');
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->end('login');

&GT;

1 个答案:

答案 0 :(得分:1)

为您的用户模型添加密码哈希

user.php的

App::uses('AppModel', 'Model'); 

class User extends AppModel {
    public function beforeSave($options = array()) {    
        if(isset($this->data['User']['password'])) {
            $this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
        }

    }
 }

之后截断您的用户表并保存新用户,然后再次检查登录。