在我尝试使用谷歌搜索找到解决方案后,我仍然没有找到任何对我有帮助的东西。问题很简单,我想使用另一个模型进行用户认证。手册向我们展示的方式,不知何故,行不通。
我的 AppController 如下所示:
public $components = array(
'Auth',
'DebugKit.Toolbar'
);
public function beforeFilter()
{
parent::beforeFilter();
if (isset($this->request->params["intranet"]) && $this->request->params["intranet"] == 1) {
$this->Auth = array(
"loginAction" => array(
"intranet" => true,
"controller" => "employees",
"action" => "login"
),
"authenticate" => array(AuthComponent::ALL => array("userModel" => "Employee"))
);
$this->layout = "intranet";
}
}
我打开什么 url 无关紧要,CakePHP 总是将我重定向到 /users/login。当然,我在控制器中运行 parent::beforeFilter()。
编辑:好吧,好像我错过了 userModel,loginAction似乎是正确的关键字,但是在我将其更改为array("controller" => "employees", "action" => "login")之后它仍然将我重定向到 /用户/登录...