我的网站有一个公共部门的雇员和后端的管理。它使用两种不同的模式,员工和行政。
我想使用Auth组件进行员工登录和管理登录。我知道如何设置Auth组件来使用默认用户模型以外的模型。但是,我是否可以让组件使用2种模型,一个用于员工身份验证,另一个用于管理身份验证?我使用的是admin_前缀路由。
这个是可能的吗?我搜索了,但我所能找到的只是关于如何使Auth组件使用模型而不是用户模型的教程。
请指点!
编辑
我使用单独的登录表单进行管理登录和员工登录。两种方法都使用员工控制器,但都使用单独的操作。
发布于 2012-08-06 19:37:07
http://api.cakephp.org/class/auth-component
检查财产认证,你的答案在那里!
还有更多:http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html。看看认证处理程序!
下面是一个直接来自蛋糕页面的示例
<?php
// Basic setup
$this->Auth->authenticate = array('Form');
// Pass settings in
$this->Auth->authenticate = array(
'Form' => array('userModel' => 'Member'),
'Basic' => array('userModel' => 'Member')
);只是把其他的东西,而不是形式和基本,并联系良好的模型
发布于 2012-08-07 05:18:04
考虑到您正在为员工和管理使用两个单选按钮。然后,您可以在登录方法中使用以下代码。
function login()
{
if ($this->request->is('post'))
{
$logged_in = false;
$login_type = $this->request->data['User']['login_type']
if ($login_type == 'Admin')
{
$this->Auth->authenticate = array('Form' => array('userModel' => 'Admin' ));
}
else //if ($login_type == 'Employee')
{
$this->Auth->authenticate = array('Form' => array('userModel' => 'Employee' ));
}
$this->Auth->constructAuthenticate();
if ($this->Auth->login())
{
$logged_in = true;
/*.... Do what you want............*/
}
}
}https://stackoverflow.com/questions/11834646
复制相似问题