2013-03-21 3 views
0

내가 가진 사용자 로그인을 시도하고 있습니다 : 그것은에 얻을 때 ErrorException [ Notice ]: Trying to get property of non-object과 함께 자동 로그인 쿠키를 설정하려고 할 때 실패 그러나Kohana 3.3 인증 모듈은 실패 기억 플래그와 작성 사용자 토큰

$login = Auth::instance()->login($this->request->post('username'), $this->request->post('password'), TRUE);

: 나는 var_dump($token) 경우

// Token data 
$data = array(
    'user_id' => $user->pk(), 
    'expires' => time() + $this->_config['lifetime'], 
    'user_agent' => sha1(Request::$user_agent), 
); 

// Create a new autologin token 
$token = ORM::factory('User_Token') 
      ->values($data) 
      ->create(); 

// var_dump($token); // null 

// Set the autologin cookie 
Cookie::set('authautologin', $token->token, $this->_config['lifetime']); 

그것은 null 말합니다. 나는 데이터베이스를 점검했고 올바르게 추가 된 것으로 보인다. 내 설정은 driver => 'ORM'입니다. remember me 플래그가 FALSE로 설정된 경우 로그인이 작동합니다. 왜 $ 토큰이 객체가 아닌가? 내가 놓친 것이 있습니까?

+0

$ 데이터 란 무엇입니까? – ITroubs

+0

@ITroubs가'$ data'로 질문을 업데이트했습니다. – xylar

+0

공지가 정확한 줄에 있습니까? – ITroubs

답변

0

class ORM_Base extends Kohana_ORM의 메서드를 재정 의하여 오류가 발생했지만 parent::create()이라고 불렀지 만 user_token을 잘못된 create()로 지정했습니다. 내가 추가 한 create()를 제거하여 수정되었습니다.