CakePHP 2-手动登录未添加到会话

CakePHP 2-手动登录未添加到会话,php,cakephp,cakephp-2.0,Php,Cakephp,Cakephp 2.0,我是CakePHP新手,正在尝试注册/登录,我正在使用CakePHP 2.0 如果我使用register controller函数创建一个用户,然后单独登录,会话($this-Auth-user())将包含我期望的所有模型值 如果我遵循cakephp 2.0书籍示例并在注册期间手动登录,那么我确实会登录,但是$this->Auth->user()只包含注册表单中的字段,而不包含用户模型。(即,它缺少“已创建”、“全名”等我的模型字段,但包括“密码”和“密码确认”这两个未加密的字段) 我是不是遗漏

我是CakePHP新手,正在尝试注册/登录,我正在使用CakePHP 2.0

如果我使用register controller函数创建一个用户,然后单独登录,会话($this-Auth-user())将包含我期望的所有模型值

如果我遵循cakephp 2.0书籍示例并在注册期间手动登录,那么我确实会登录,但是$this->Auth->user()只包含注册表单中的字段,而不包含用户模型。(即,它缺少“已创建”、“全名”等我的模型字段,但包括“密码”和“密码确认”这两个未加密的字段)

我是不是遗漏了什么

登录操作:

public function login(){
if($this->request->is('post')){
    if($this->Auth->login()){
        return $this->redirect($this->Auth->redirect());
    } else {
        $this->Session->setFlash(__('Invalid Username or Password.'), 'default', array(), 'auth');
    }
}
}
注册操作(自动登录):

Register.ctp视图

<?php
echo $this->Form->create('User', array('action' => 'register'));
echo $this->Form->input('username');
echo $this->Form->input('password', array('label' => 'Password'));
echo $this->Form->input('passwordconfirm', array('label' => 'Confirm Password', 'type' => 'password'));
echo $this->Form->input('email', array('label' => 'Email (optional)'));
echo $this->Form->end('Join');
?>
这是一种享受

编辑:也可以使用save()的返回值:

试着改变

if($this->Auth->login($this->data['User'])){


我通过在PHP.ini中将“session.cookie\u domain”的值更改为我的域名来解决这个问题

session.cookie_domain = my.domain.com
现在它工作得很好

core.php的会话设置如下

Configure::write('Session', array(
    'defaults' => 'php'     
));
if($this->Auth->login($this->data['User'])){
if($this->Auth->login()){
session.cookie_domain = my.domain.com
Configure::write('Session', array(
    'defaults' => 'php'     
));