2013-03-11 19 views
0

我試圖做這種登錄,使用來自Cakephp 1.3的Auth組件 ,但組件只使用兩個字段(用戶名和密碼) 如你所知。 所以沒有人知道如何得到這個登錄屏幕的解決方案,如圖片中的 這是登錄的一個字段,另一個是密碼,第三個字段選擇 在公司的哪個子公司(子公司1,子公司2, ...)用戶將被記錄。 感謝先進。使用Auth登錄,但使用超出登錄名和密碼的額外字段,使用Cakephp 1.3

What kind of login i wanna do

+0

子公司究竟如何適應您的認證模式?不同的子公司有相同的用戶名嗎?或者你是否希望將此作爲額外的安全措施? – Oldskool 2013-03-11 19:16:52

回答

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')); 
    } 
    } 
} 

現在子公司是記錄用戶數據的一部分,存儲爲會話Auth用戶 這是解決方案之一,也許可以使用其他甚至更好的解決方案。

相關問題