如何使用CakePHP 2.2+;仅使用用户名字段?

如何使用CakePHP 2.2+;仅使用用户名字段?,php,cakephp,Php,Cakephp,我正在开发一个控制器,用于管理两种登录: 电子邮件和密码 电子邮件 第二种类型只有电子邮件字段。原因是第三方提供商向我提供了已登录用户的电子邮件,但我还需要检查我的数据库中是否存在该电子邮件 我有两种认证,问题是: 第二种类型可以使用Auth吗?(仅电子邮件检查) 谢谢您可以在此链接中看到: 您可以在此链接中看到: 我看不出在这里使用Auth的原因(这种方法滥用了整个Auth机制。处理一个简单的查找也是一个巨大的开销)。 只需使用find(first)检查电子邮件是否存在,并相应地使用结果。

我正在开发一个控制器,用于管理两种登录:

  • 电子邮件和密码
  • 电子邮件
  • 第二种类型只有电子邮件字段。原因是第三方提供商向我提供了已登录用户的电子邮件,但我还需要检查我的数据库中是否存在该电子邮件

    我有两种认证,问题是:

    第二种类型可以使用Auth吗?(仅电子邮件检查)

    谢谢

    您可以在此链接中看到:

    您可以在此链接中看到:
    


    我看不出在这里使用Auth的原因(这种方法滥用了整个Auth机制。处理一个简单的查找也是一个巨大的开销)。
    
    只需使用find(first)检查电子邮件是否存在,并相应地使用结果。这就是它的全部。

    我看不出在这里使用Auth的原因(这种方法滥用了整个Auth机制。处理一个简单的查找也是一个巨大的开销)。 只需使用find(first)检查电子邮件是否存在,并相应地使用结果。这就是它的全部内容。

    读一下这个

    试试这个:-

    <?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(
            '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')
                )
            )
        )
    );
    
    ?>
    
    
    


    是的,我看到了,但我认为它定制了“用户名”字段,密码字段没有被覆盖。。。否?密码字段对于我的授权是必需的。那么您要怎么做?我可以只使用一个字段,还是必须编写一个自定义函数来查找单个字段?您必须编写一个自定义函数是的,我看到了,但我认为它可以自定义“用户名”字段,密码字段不会被覆盖。。。否?密码字段对于我的授权是必需的。那么您要怎么做?我可以只使用一个字段,还是必须编写一个自定义函数来查找单个字段?您必须编写一个自定义函数对不起,但是在阅读findUser方法时,我发现密码是必需的,因此我认为使用“username”=>“email”不会覆盖字段列表,因为“password”仍然在这里……不?对不起,但是在阅读_findUser方法时,我发现密码是必需的,因此我认为使用“用户名”=>“电子邮件”不会覆盖字段列表,因为“密码”仍然在这里……不?谢谢你的建议……是的,我认为你是对的,但这可能吗?谢谢你的建议……是的,我认为你是对的,但这可能吗?
    
    <?php
    // Pass settings in $components array
    public $components = array(
        'Auth' => array(
            'authenticate' => array(
                'Form' => array(
                    'fields' => array('username' => 'email')
                )
            )
        )
    );