通过Facebook登录CakePHP登录后无重定向
我将按照以下步骤在我的应用程序中应用FB登录。我已经一步一步地完成了整个教程。登录页面上还有一个按钮,可以通过Facebook登录。但当我点击该按钮并获得FB授权时,或者我已经登录FB,但我的页面并没有重定向到登录区域。即使在通过FB登录后,我仍然停留在登录页面。但是CakePHP登录正常 UsersController.php登录操作的一些代码片段通过Facebook登录CakePHP登录后无重定向,facebook,cakephp,Facebook,Cakephp,我将按照以下步骤在我的应用程序中应用FB登录。我已经一步一步地完成了整个教程。登录页面上还有一个按钮,可以通过Facebook登录。但当我点击该按钮并获得FB授权时,或者我已经登录FB,但我的页面并没有重定向到登录区域。即使在通过FB登录后,我仍然停留在登录页面。但是CakePHP登录正常 UsersController.php登录操作的一些代码片段 public function login() { if ($this->request->is('post')) {
public function login() {
if ($this->request->is('post')) {
if ($this->Auth->login()) {
if($this->Auth->user('id')==1){
if($this->Auth->user('type')==1){
if($this->Auth->user('verified')==0){
$this->Auth->logout();
}
}
return $this->redirect($this->Auth->redirectUrl());
$this->Session->setFlash(__('Logged In Successfully'), 'default', array('class' => 'alert alert-success'));
}
else{
$this->redirect(array('controller'=>'users','action'=>'index'));
}
}
$this->Session->setFlash(__('Invalid username or password, try again'), 'default', array('class' => 'alert alert-danger'));
}
}
在AppController.php中,我包含了以下代码:
public $components = array(
'Paginator',
'Session',
'Auth' => array(
'loginRedirect' => array(
'controller' => 'users',
'action' => 'index'
),
'logoutRedirect' => array(
'controller' => 'users',
'action' => 'home',
),
'authenticate' => array(
'Form' => array(
'passwordHasher' => 'Blowfish',
'fields'=>array('username'=>'email')
)
)
),
'Email',
'Facebook.Connect'
);
var $helpers = array('Facebook.Facebook');
在UsersContoller.php pr$\会话中,当我已经在CakePHP登录页面上登录FB时,输出以下代码:
Array
(
[Config] => Array
(
[userAgent] => f04e6*****************c00392
[time] => 1425647071
[countdown] => 10
)
[fb_989554394440625_user_id] => 8459*********71
)
我在网上搜索过这个问题,但无法解决 缺少一些重要的代码部分,这些代码需要给出一个合格的、经过验证的答案 您在哪里调用登录函数?确保仅在用户未登录时调用此函数,否则将呈现您的内容
if(!$this->Auth->user()) {
$this->login(); // request login
} else {
$this->render('profile'); //render your view
}
如果用户正确登录,则应呈现纵断面图。如果您似乎已登录,但仍然会调用login Fn,那么如果您这样做,则可能会在重写Auth方法时出错
如果您仍然无法解决此问题,请在此处添加更多代码。代码中缺少一些重要的部分,无法给出经过验证的合格答案 您在哪里调用登录函数?确保仅在用户未登录时调用此函数,否则将呈现您的内容
if(!$this->Auth->user()) {
$this->login(); // request login
} else {
$this->render('profile'); //render your view
}
如果用户正确登录,则应呈现纵断面图。如果您似乎已登录,但仍然会调用login Fn,那么如果您这样做,则可能会在重写Auth方法时出错
如果您仍然无法解决此问题,请在此处添加更多代码。提示:1避免在返回后使用代码。这不会被执行。loginFn 2您在loginFn中的第一次注销将执行会话清除,这可能会导致意外行为我已从登录功能中删除注销,但它不起作用。这里有人知道问题是什么吗?您可以使用X-Debug或常规调试输出来确定,如果它要跳出呢?无法使用调试进行调试。提示:1避免返回后的代码。这不会被执行。loginFn 2您在loginFn中的第一次注销将执行会话清除,这可能会导致意外行为我已从登录功能中删除注销,但它不起作用。这里有人知道问题是什么吗?您可以使用X-Debug或常规调试输出来确定,如果它要跳出呢?无法使用调试。我已经用我在问题评论中提到的问题解决了我的问题。关于我问题的代码,我已经提供了用于登录的每一行代码。我已经用我在问题评论中提到的问题解决了我的问题。关于我问题的代码,我已经提供了用于登录的每一行代码。