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