cakephp自定义密码字段

时间:2013-11-01 06:50:55

标签: php cakephp-2.0

我正在使用cakephp 2.3.9开发一个应用程序。它有一个用户表来保存用户凭据。如何在除field字段之外的User表中使用不同的password保存密码。

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

public $components = array(
    'Auth' => array(
        'loginAction' => array(
           ......
        ),
        'authError' => '...',
        'authenticate' => array(
            'Form' => array(
                'fields' => 
                    array(
                       'password' => 'YOUR_CUSTOM_FIELD' // set custom field
                                                         // as password field
                    )
            )
        )
    )
);
AppController.php中的

并在您的表单中将type="password"设置为该字段。 e.g。

$this->Form->input('YOUR_CUSTOM_FIELD', array('type' => 'password'));

引用comment,要加密密码字段,您需要在控制器或模型中进行手动操作。例如在控制器中你可以这样做:

$this->request->data['User']['YOUR_CUSTOM_FIELD'] = AuthComponent::password( $this->request->data['User']['YOUR_CUSTOM_FIELD']);

此外,如果beforeSave()行动,您也可以通过正确检查来建立add/edit模型。


价:

  1. CakePHP Auth Password Hash
  2. For detail about CakePHP Auth