首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >cakephp auth组件,使用两个模型。

cakephp auth组件,使用两个模型。
EN

Stack Overflow用户
提问于 2012-08-06 19:28:58
回答 2查看 1.6K关注 0票数 3

我的网站有一个公共部门的雇员和后端的管理。它使用两种不同的模式,员工和行政。

我想使用Auth组件进行员工登录和管理登录。我知道如何设置Auth组件来使用默认用户模型以外的模型。但是,我是否可以让组件使用2种模型,一个用于员工身份验证,另一个用于管理身份验证?我使用的是admin_前缀路由。

这个是可能的吗?我搜索了,但我所能找到的只是关于如何使Auth组件使用模型而不是用户模型的教程。

请指点!

编辑

我使用单独的登录表单进行管理登录和员工登录。两种方法都使用员工控制器,但都使用单独的操作。

EN

回答 2

Stack Overflow用户

发布于 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。看看认证处理程序!

下面是一个直接来自蛋糕页面的示例

代码语言:javascript
复制
<?php
// Basic setup
$this->Auth->authenticate = array('Form');

// Pass settings in
$this->Auth->authenticate = array(
'Form' => array('userModel' => 'Member'),
'Basic' => array('userModel' => 'Member')
);

只是把其他的东西,而不是形式和基本,并联系良好的模型

票数 0
EN

Stack Overflow用户

发布于 2012-08-07 05:18:04

考虑到您正在为员工和管理使用两个单选按钮。然后,您可以在登录方法中使用以下代码。

代码语言:javascript
复制
 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............*/
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11834646

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档