我正在使用 cakephp 2.3.9 开发一个应用程序。它有一个用户表来保存用户凭据。我如何使用不同field
的User
表而不是password
字段来保存密码。
问问题
1264 次
1 回答
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"
为该字段。例如
$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']);
beforeSave()
您也可以通过适当的检查来执行模型功能add/edit
。
参考:
于 2013-11-01T06:55:56.643 回答