電子メール フィールドをユーザー名として使用するように CakeDC のユーザー プラグインを設定することは可能ですか?
デフォルトでは、Users プラグインにはユーザー名とメールの両方のフィールドがあり、すべてうまく機能します! しかし、認証用のユーザー名として電子メールを使用したいので、ユーザー登録を簡素化できます。
AppControllerに Auth コンポーネントをロードしてUsersAuthComponentをオーバーライドしようとしましたが、ログインが機能しなくなり、「間違ったユーザー名またはパスワード」と表示されます。
public function initialize()
{
parent::initialize();
$this->loadComponent('Flash');
$this->loadComponent('Auth', [
'loginAction' => [
'plugin' => 'CakeDC/Users',
'controller' => 'Users',
'action' => 'login',
],
'authenticate' => [
'all' => [
'scope' => ['active' => 1]
],
'CakeDC/Users.RememberMe',
'Form' => [
'fields' => ['username' => 'email', 'password' => 'password']
]
],
'authorize' => [
'CakeDC/Users.Superuser',
'CakeDC/Users.SimpleRbac',
],
'storage' => 'Session'
]);
$this->loadComponent('CakeDC/Users.UsersAuth');
}
ドキュメントに従って、bootstrap.phpのUsersAuthComponentもオフにしました。
Configure::write('Users.auth', false);
トリックはありますか?私はそれが可能だと信じていますか、それともバグですか?
私はCakePHP 3.1とCakeDC User plugin 3.1を使用しています