0

我正在尝试使用 Cakephp 1.3 中的 Auth 组件进行这种登录,但正如您所知,该组件只使用两个字段(用户和密码)。那么有谁知道如何获得这个登录屏幕的解决方案,就像图片中的那个一样,这是一个登录字段,另一个是密码,第三个字段是选择公司的哪个子公司(子公司 1,子公司 2,... ) 用户将被记录。先谢谢了。

我想做什么样的登录

4

1 回答 1

0

例如,您正在使用用户控制器,而子公司与用户没有关系,只需告诉我们,以便

我们创建login.ctp

<?php echo $this->Form->create('User', array('action' => 'login'));
echo $this->Form->input('username');
echo $this->Form->input('password');
echo $this->Form->input('subsidiary', array('options' => array('subsidiary 1' => 'subsidiary1', 'subsidiary2' => 'subsidiary2'),'label'=>__('subsidiaries')
    ));
echo $this->Form->end(__('Submit'));

然后在您的用户控制器中

public function login() {
    if ($this->request->is('post')) {
    if ($this->Auth->login()) {
    $subsidiary=$this->request->data;
    $_SESSION['Auth']['User']['subsidiary']=$subsidiary['User']['subsidiary'];
    $this->redirect($this->Auth->redirect());
    } else {
    $this->Session->setFlash(__('Invalid username or password, try again'));
    }
    }
}

现在,子公司是记录的用户数据的一部分,它存储为会话身份验证用户,这是一种解决方案,也许可以使用其他甚至更好的解决方案。

于 2013-03-12T08:54:00.620 回答