0
我試圖做這種登錄,使用來自Cakephp 1.3的Auth組件 ,但組件只使用兩個字段(用戶名和密碼) 如你所知。 所以沒有人知道如何得到這個登錄屏幕的解決方案,如圖片中的 這是登錄的一個字段,另一個是密碼,第三個字段選擇 在公司的哪個子公司(子公司1,子公司2, ...)用戶將被記錄。 感謝先進。使用Auth登錄,但使用超出登錄名和密碼的額外字段,使用Cakephp 1.3
我試圖做這種登錄,使用來自Cakephp 1.3的Auth組件 ,但組件只使用兩個字段(用戶名和密碼) 如你所知。 所以沒有人知道如何得到這個登錄屏幕的解決方案,如圖片中的 這是登錄的一個字段,另一個是密碼,第三個字段選擇 在公司的哪個子公司(子公司1,子公司2, ...)用戶將被記錄。 感謝先進。使用Auth登錄,但使用超出登錄名和密碼的額外字段,使用Cakephp 1.3
例如你正在使用的用戶控制器和子公司擁有與用戶沒有關係,只是告訴我們,這樣
我們在您的用戶創建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'));
}
}
}
現在子公司是記錄用戶數據的一部分,存儲爲會話Auth用戶 這是解決方案之一,也許可以使用其他甚至更好的解決方案。
子公司究竟如何適應您的認證模式?不同的子公司有相同的用戶名嗎?或者你是否希望將此作爲額外的安全措施? – Oldskool 2013-03-11 19:16:52