我正在使用cakephp 2.3.9开发一个应用程序。它有一个用户表来保存用户凭据。如何在User
字段中使用其他field
password
字段来保存密码。
你可以试试这个:
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"
到该字段。
$this->Form->input('YOUR_CUSTOM_FIELD', array('type' => 'password'));
参考注释,要加密密码字段,您需要在控制器或模型中执行手动方法。 例如,在控制器中,您可以执行以下操作:
$this->request->data['User']['YOUR_CUSTOM_FIELD'] = AuthComponent::password( $this->request->data['User']['YOUR_CUSTOM_FIELD']);
您也可以通过在add/edit
动作的情况下进行适当的检查来执行模型beforeSave()
功能。
裁判:
- 蛋糕PHP身份验证密码哈希
- 有关 CakePHP 身份验证的详细信息