我在其Auth方法上尝试过大多数(如果不是全部)CakePHP 1.3教程,而非似乎可以在CakePHP 2.0上使用。
我可以添加用户,哈希密码,但登录功能不起作用。它只是在我点击登录时刷新页面。没有错误,没有任何错误。
我很感激您的一些提示,并感谢您阅读我的问题。
这是我的代码 公共功能登录() {
if ($this->request->is('post') )
{
if( $this->Auth->login() )
{
// the redirect() function in the Auth class redirects us
// to the url we set up in the AppController.
return $this->redirect( $this->Auth->redirect());
}
else
{
$this->Session->setFlash(__('Email or password is incorrect',true));
}
}
}
谢谢, Mahadeva Prasad
答案 0 :(得分:0)
首先检查你如何散列密码。还要检查数据库中的字段长度。 首选 - varchar(255) 密码将如下所示。
class User extends AppModel {
public function beforeSave($options = array()) {
$this->data['User']['password'] = AuthComponent::password($this->data['User']['password']);
return true;
}
}
当您使用FormAuthenticate时,请在声明组件时尝试使用它。
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login',
),
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'username')
)
)
)
);
有关更多信息,请参阅http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html