我一直试图将'userModel'从默认的'user'更改为'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。
答案 0 :(得分:1)
尝试初始化Auth组件时执行此操作
在AppController中:
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'userModel' => 'Usuario',
'fields' => array(
'username' => 'username',
'password' => 'password'
)
)
)
)
);
答案 1 :(得分:1)
设置自定义UserModel
与Auth::loginAction
无关,默认情况下指向/users/login
。您可以在Controller::beforeFilter()
回调或Controller::$components
数组中覆盖它。希望有所帮助。
答案 2 :(得分: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'
);
答案 3 :(得分: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'),