我正在使用cakedc插件。它使用用户名和密码进行用户登录,我想用电子邮件而不是用户名登录。我不希望用户名存在或存储在数据库中。任何人都可以帮助我,我该怎么办?
P.S。使用供应商目录中的composer安装的插件
答案 0 :(得分:0)
更改Auth.authenticate.Form.fields配置,让AuthComponent使用电子邮件而不是用户标识的用户名。在加载CakeDC / Users插件后,将此行添加到bootstrap.php文件中
Configure::write('Auth.authenticate.Form.fields.username', 'email');
重写login.ctp模板,将Form->控件更改为“email”。将文件login.ctp添加(或从https://github.com/CakeDC/users/blob/master/src/Template/Users/login.ctp复制)到路径/src/Template/Plugin/CakeDC/Users/Users/login.ctp并确保其具有以下内容
// ... inside the Form
<?= $this->Form->control('email', ['required' => true]) ?>
<?= $this->Form->control('password', ['required' => true]) ?>
// ... rest of your login.ctp code
添加了具体说明