无法找到UsersController

时间:2014-01-19 05:43:48

标签: php cakephp

我是cakePhp的新手,我一直在关注一个教程和(在教程中)我在我的数据库中创建了一个名为users的用户表(遵循命名约定)并且一切运行良好,但在我的项目中我创建了一个名为usuarios的不同名称的表,然后,我创建了模型,视图和控制器文件,我用相应的表单创建了一个名为“login.ctp”的文件,在AppController.php中我把这段代码:

class AppController extends Controller {

    public $helpers = array('Html','Form','Session');
    public $components = array('Session','Auth'=>array(
                                            'controller'=>'usuarios',
                                            'action'=>'login'
                                                    )

                               );

    public function beforeFilter(){
        $this->Auth->Allow('index');
    }
}

在usuariosController.php中我添加了这段代码:

public function logout(){
        $this->Auth->logout();
        $this->redirect('Pensums/index');
    }

    public function login(){
        if($this->request->is('post')){
            if($this->Auth->login()){
                return $this->redirect($this->Auth->redirecturl());
            }
        $this->Session->setFlash(_('Invalid username or password, please try again'));
        }
    }

但我从服务器收到此错误:

缺少控制器

错误:找不到UsersController。

错误:在文件中创建下面的UsersController类:app \ Controller \ UsersController.php

缺少什么?请帮忙。

1 个答案:

答案 0 :(得分:3)

UsersController是处理登录的默认控制器。这是您未登录时尝试去的地方。

根据粘贴的代码,您似乎希望将其更改为UsuariosController

如果UsuariosController已正确创建并且具有login方法,请尝试将$components属性从AppController更改为:

public $components = array(
    'Session',
    'Auth' => array(
        'loginAction' => array(
            'controller' => 'usuarios',
            'action' => 'login'
            )
        )
    );

未登录时,会将您重定向到/usuarios/login