次の方法でユーザーにログインしようとしています:
$login = Auth::instance()->login($this->request->post('username'), $this->request->post('password'), TRUE);
ただし、自動ログイン Cookie を設定しようとすると失敗しますErrorException [ Notice ]: Trying to get property of non-object
。
// 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']);
私var_dump($token)
が言うなら、それはですnull
。データベースを確認しましたが、正しく追加されているようです。私の設定にはdriver => 'ORM'
. ログインは、remember me フラグが FALSE に設定されている場合に機能します。$token がオブジェクトでないのはなぜですか? 私が見逃したものはありますか?