簡體   English   中英

在CakePHP Auth Component中使用電子郵件而不是用戶名

[英]Using email instead of username in CakePHP Auth Component

我正在開發cakephp 2.x. 我的問題是我不想使用用戶名進行記錄..我正在從用戶那里獲取電子郵件和密碼,並從數據庫驗證這個電子郵件和密碼我在我的數據庫名稱用戶中有一個表,它有3個字段ID電子郵件密碼

這是我的代碼

模型

 <?php
class User extends AppModel {
public $useTable = 'user';
}
?>

AppController的

 class AppController extends Controller {
   public $components = array(
   'Session',
'Auth'=>array(
    'loginRedirect'=>array('controller'=>'users', 'action'=>'admin'),
    'logoutRedirect'=>array('controller'=>'users', 'action'=>'admin'),
    'authError'=>"You can't access that page",
    'authorize'=>array('Controller') 
   )
);

public function isAuthorized($user) {
}

  public function beforeFilter() {
  $this->Auth->allow('index');

UserController的

public function login()
   {
     if ($this->request->is('post')) {
       if ($this->Auth->login()) {
        $this->redirect($this->Auth->redirect());
    } else {
        $this->Session->setFlash('Your email/password combination was incorrect');
    }
}
}

login.ctp

 <?php


   echo $this->form->create();

  echo $this->form->input('email');
  echo $this->form->input('password');


    echo $this->form->end('Authenticate');
   ?>

您可以配置它:

public $components = array(
    'Auth' => array(
        'authenticate' => array(
            'Form' => array(
                'fields' => array('username' => 'email')
            )
        )
    )
);

另請參閱cookbook中的配置身份驗證處理程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM