2種類のログインを管理するコントローラーを開発しています:
- メールとパスワード
- Eメール
2 番目のタイプには電子メール フィールドのみがあります。その理由は、サードパーティのプロバイダーがログに記録されているユーザーの電子メールを提供してくれるためですが、その電子メールがデータベースに存在するかどうかも確認する必要があります。
したがって、2種類の認証があります。問題は次のとおりです。
2 番目のタイプに Auth を使用できますか? (メールチェックのみ)
ありがとうございました
ここでAuthを使用する理由がわかりません(このアプローチではAuthメカニズム全体を悪用しています。単純なルックアップを処理するための大きなオーバーヘッドでもあります)。find(first) を使用して電子メールが存在するかどうかを確認し、それに応じて結果を使用します。それだけです。
これを読む
http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html
これを試して:-
<?php
// Pass settings in $components array
public $components = array(
'Auth' => array(
'loginAction' => array(
'controller' => 'users',
'action' => 'login',
'plugin' => 'users'
),
'authError' => 'Did you really think you are allowed to see that?',
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
?>
または
<?php
// Pass settings in $components array
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
このリンクで確認できます: http://book.cakephp.org/2.0/en/core-libraries/components/authentication.html#configuring-authentication-handlers
<?php
// Pass settings in $components array
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
私にとってこれはあなたにとってうまくいきます!