0

我一直在尝试将“userModel”从默认的“用户”更改为“usuario”。我以前在 CakePHP 1.3 中做过这个,但我无法使用最新版本让它工作。

这是我的代码(AppController.php):

App::uses('Controller', 'Controller');

class AppController extends Controller {
    public $components = array(
        'Auth' => array(
            'loginError' => "Nombre de usuario o contraseña incorrectos.",
            'authError' => "Debes ingresar con tu cuenta de usuario.",
            'loginRedirect' => array('controller' => 'administrador', 'action' => 'productos'),
            'logoutRedirect' => array('controller' => 'usuarios', 'action' => 'login')
        ),
        'Session',
        'Email'
    );

    public function beforeFilter() {
        $this->Auth->authenticate = array(
            'Basic' => array('userModel' => 'Usuario'),
            'Form' => array('userModel' => 'Usuario')
        );
    }
}

提前致谢。

编辑:该组件将我重定向到“/users/login”而不是“/usuarios/login”,并且“/usuarios/login”中的登录表单不起作用。就像我从未更改过 userModel 一样。

4

4 回答 4

1

设置自定义与默认指向UserModel的无关。您可以在回调或数组中覆盖它。希望有所帮助。Auth::loginAction/users/loginController::beforeFilter()Controller::$components

于 2013-10-29T12:02:31.900 回答
1

在初始化 Auth 组件时尝试这样做

在您的 AppController 中:

public $components = array(
'Auth' => array(
        'authenticate' => array(
            'Form' => array(
                'userModel' => 'Usuario',
                'fields' => array(
                    'username' => 'username',
                    'password' => 'password'
                )
            )
        )
    )
);
于 2013-08-02T10:35:25.187 回答
0

试试这个代码

App::uses('Controller', 'Controller');

class AppController extends Controller {
    public $components = array(
        'Auth' => array(
            'loginError' => "Nombre de usuario o contraseña incorrectos.",
            'authError' => "Debes ingresar con tu cuenta de usuario.",
            'loginAction' => array('controller' => 'aucusers','action' => 'login'),
            'loginRedirect' => array('controller' => 'administrador', 'action' => 'productos'),
            'logoutRedirect' => array('controller' => 'usuarios', 'action' => 'login')
        ),
        'Session',
        'Email'
        );
   }

我在下面添加了这个

'loginAction' => array('controller' => 'aucusers','action' => 'login'),
于 2015-03-16T12:26:21.297 回答
0

将您$components的数组更改为:

 public $components = array(
    'Auth' => array(
        'loginError' => "Nombre de usuario o contraseña incorrectos.",
        'authError' => "Debes ingresar con tu cuenta de usuario.",
        'loginRedirect' => array('controller' => 'administrador', 'action' => 'productos'),
        'logoutRedirect' => array('controller' => 'usuarios', 'action' => 'login'),
        'loginAction' => array('controller' => 'usuario','action' => 'login','plugin' => null),
        'authenticate' => array('Form' => array('userModel' => 'Usuario')

        ),
    ),
    'Session',
    'Email'
);
于 2015-01-10T15:43:45.940 回答