身份验证注销在CakePHP 2.x中不起作用 当我从一个用户帐户登录时,设置了会话。然后在同一浏览器上打开下一个选项卡并输入登录url,它会将我带到登录页面。但实际上,它应该重定向到“仪表板”页面(在我的情况下)。它无法重定向到myAuth中提到的LoginDirect(仪表板)页面 当我注销时,根据我的代码会话,cookie和缓存被删除。但它不会重定向到logoutRedirect页面

身份验证注销在CakePHP 2.x中不起作用 当我从一个用户帐户登录时,设置了会话。然后在同一浏览器上打开下一个选项卡并输入登录url,它会将我带到登录页面。但实际上,它应该重定向到“仪表板”页面(在我的情况下)。它无法重定向到myAuth中提到的LoginDirect(仪表板)页面 当我注销时,根据我的代码会话,cookie和缓存被删除。但它不会重定向到logoutRedirect页面,cakephp,session-cookies,browser-cache,cakephp-2.x,Cakephp,Session Cookies,Browser Cache,Cakephp 2.x,我的代码: 应用程序控制器 public $components = array( 'Session', 'RequestHandler', 'Email', 'Cookie', 'Auth' => array( 'authenticate' => array( 'Form' => array( 'fields' => array( 'username' => 'email', 'p

我的代码:

应用程序控制器

public $components = array(
  'Session', 'RequestHandler', 'Email', 'Cookie',
  'Auth' => array(
    'authenticate' => array(
      'Form' => array(
        'fields' => array(
          'username' => 'email',
          'password' => 'password')
        )
      ),
      'loginRedirect' => array(
         'controller' => 'users',
         'action' => 'login'
       ),
       'logoutRedirect' => array(
         'controller' => 'users',
         'action' => 'login'
       )
     )
   );
用户控制器

public $components = array(
  'Session', 'RequestHandler', 'Email', 'Cookie',
  'Auth' => array(
    'authenticate' => array(
      'Form' => array(
        'fields' => array(
          'username' => 'email',
          'password' => 'password')
        )
      ),
      'loginRedirect' => array(
         'controller' => 'users',
         'action' => 'login'
       ),
       'logoutRedirect' => array(
         'controller' => 'users',
         'action' => 'login'
       )
     )
   );
登录操作:

注销操作:


此代码在“本地服务器”中工作正常,但在生产服务器中不工作。

您的
重定向
语句前面应该有
return
,以便代码执行将在那里停止。例如:

return $this->redirect(array('controller' => 'users', 'action' => 'dashboard'));

在上面的代码片段中,重定向到仪表板的代码在哪里?对不起,我弄错了。请查看我的编辑。请在返回之前尝试删除删除和销毁行,因为Auth::logout()会为您处理此问题
return $this->redirect(array('controller' => 'users', 'action' => 'dashboard'));