2012-02-06 102 views
0

我正在测试Intranet站点从1.3迁移到2.0的迁移。登录现有的用户后,print_r($this->Auth->user());返回如下:

Array 
(
    [username] => keith 
    [password] => f793ff5af0ea72013679a4635f40fbfaa5808895 
) 

Theuser在用户表中定义的,所以我没有料想到会看到所有在用户表中定义的字段,这是行为在1.3以下。

回答

1

在2.0 $this->Auth->login($this->request->data)会将用户登录到发布的任何数据,而在1.3 $this->Auth->login($this->data)将尝试首先识别用户,并且只有在成功登录时才会登录。

http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#identifying-users-and-logging-them-in

我猜你传递的数据到你的$this->Auth->login()方法。 $this->Auth->login()将进行身份验证并使用POST数据进行登录,但不传递数据(无论登录哪个用户)。