cakephp-在404上终止会话未找到错误

cakephp-在404上终止会话未找到错误,cakephp,cakephp-2.5,Cakephp,Cakephp 2.5,我使用cakephp-2.5.4,当我遇到404错误时,用户会话被终止&用户从应用程序注销 有人能帮忙吗 public $components = array ( 'Session' ); 要解决这个问题: 请试试这个 public $helpers = array('Session', 'Html', 'Form'); public $uses = array('Users','Persons'); public $components = array('Auth' =&g

我使用cakephp-2.5.4,当我遇到404错误时,用户会话被终止&用户从应用程序注销

有人能帮忙吗

public $components = array (
    'Session'
);
要解决这个问题:

请试试这个

public $helpers = array('Session', 'Html', 'Form');
public $uses = array('Users','Persons');

    public $components = array('Auth' => array(
            'authenticate' => array(
                'Form' => array(
                            'fields' => array('username' => 'email_address'),
                            'passwordHasher' => array('className' => 'Md5', 'hashType' => 'md5'),
                        )
            ),
            'loginAction' => array(
                'controller' => 'user_masters',
                'action' => 'login',
                'admin' => true,
            ),
            'loginRedirect' => array(
                'controller' => 'user_masters',
                'action' => 'dashboard',
                'admin' => true,
            ), 'logoutRedirect' => array(
                'controller' => 'user_masters',
                'action' => 'login',
                'admin' => true,
            )), "Cookie", "Session", "Email", 'RequestHandler', 'Security');

如果有任何问题,请告诉我。

解决方案:

  • core.php

    Configure::write('Exception.handler','AppErrorHandler::handleException')

  • bootstrap.php

    App::使用('AppErrorHandler','Lib')

  • 使用以下函数在Lib文件夹中添加AppErrorHandler类


  • 你能告诉我更多的细节吗?
    public static function handleException(Exception $exception)
    {
        if($exception instanceof MissingControllerException ){
            return false;
        }
        $config = Configure::read('Exception');
        //self::_log($exception, $config);
        $renderer = isset($config['renderer']) ? $config['renderer'] : 'ExceptionRenderer';
        if ($renderer !== 'ExceptionRenderer') {
            list($plugin, $renderer) = pluginSplit($renderer, true);
            App::uses($renderer, $plugin . 'Error');
        }
        try {
            $error = new $renderer($exception);
            $error->render();
        } catch (Exception $e) {
        }
    }