나는 새 프로젝트의 사용자 관리 구성 요소에 대해 작업하고 있습니다. 계획은 다음과 같습니다CakePHP 2.0 계정 활성화 후 자동 로그인
- 사용자가 계정 데이터의 최소량 (사용자 이름, 패스, 이메일)
- 사용자는
- 사용자가 클릭하면 계정을 활성화하기 위해 활성화 링크가 포함 된 이메일을 얻을 수있는 페이지에 등록 링크 및
그러나 자동 로그인에는 몇 가지 문제가 있습니다. 당신이 (가) 인증 구성 요소의 사용자() 함수를 사용하여 로그인 한 사용자에 대한 정보를 얻을 할 때까지가 지금까지 작동
<?php
...
// set userstatus to "active" and delete meta information "activation_key"
// then automatically login
$this->User->id = $id;
$this->User->saveField('modified', date('Y-m-d H:i:s'));
$this->User->saveField('status', 1);
// $this->User->deleteActivationKey ....
$this->Auth->login($this->User->read());
$this->Session->setFlash(__('Successfully activated account. You are now logged in.'));
$this->User->saveField('last_login', date('Y-m-d H:i:s'));
$this->redirect(array('controller' => 'pages'));
...
이 내가 사용하는 코드의 일부입니다. 우리는 AppController-> beforeRender이를 사용하고
넓은 사용자 정보 응용 프로그램이합니다 :
$this->set('auth', $this->Auth->user());
을하지만 자동 로그인 활동 후, 나는 정의되지 않은 인덱스 통지를 받고 있어요. (예 :보기에서 $ auth [ 'id']에 액세스하여). print_r()은 현재 사용자의 사용자 이름과 해시 된 암호 만 보여줍니다. 수동으로 로그인하면 모든 것이 정상적으로 작동합니다. 그것은 계정 활성화 후 자동 로그인과 무언가가 있어야합니다.
세션에 문제가있는 것 같습니까? 내가 도대체 뭘 잘못하고있는 겁니까?
다음을 사용할 수 있습니다 : $ this-> Auth-> login ($ user [ 'User']); –