我正在嘗試將Facebook身份驗證集成到我的Cakephp 2.2.4應用程序中,並且一旦完成了facebook身份驗證,我正嘗試創建該用戶並手動登錄該用戶,但我發現雖然下面的代碼是創建一個auth會話,即$ this-> Auth-> user()包含所有數據,它不會將用戶登錄到應用程序中,即我無法訪問應用程序的其他功能Cakephp 2.x不會手動登錄
$user = $this->User->findById($user_id);
$this->Auth->login($user);
這是我在用手動登錄並保存用戶不包含用戶名和密碼
這是我AppController.php
class AppController extends Controller {
public $components = array(
'Session',
'Auth'=>array(
'loginRedirect'=>array('controller'=>'Users','action'=>'dashboard'),
'logoutRedirect'=>array('controller'=>'Users','action'=>'login'),
'authError'=>'You can\'t access that page',
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
),'Basic'),
'authorize'=>array('controller')
),
'RequestHandler'
);
public $helpers = array('Js' => array('Jquery'),'Html','Form');
public function isAuthorized($user){
return TRUE ;
}
public function beforeFilter(){
// $this->Auth->allow('index','view');
// $this->set('logged_in',$this->Auth->loggedIn());
// $this->set('current_user',$this->Auth->user());
}
}
如果它創建$ this-> Auth-> user()數據,我相信這意味着它們已登錄。登錄默認情況下不會授予對站點範圍內所有內容的權限。提供更多關於如何授予登錄用戶權限的代碼。 – Dave
dave我已經給出了上面的appcontroller代碼,yes $ this-> Auth-> loggedIn()在該特定操作中顯示爲真,即,應用程序在Facebook身份驗證後被重定向,但在其他操作中$ this-> Auth-> loggedIn()顯示錯誤 –