我正在尝试将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()显示错误 –