我正在开发一个管理两种登录的控制器:
第二种类型只有电子邮件字段。原因是第三方提供商向我提供了已登录用户的电子邮件,但我还需要检查我的数据库中是否存在该电子邮件。
所以我有两种类型的身份验证,问题是:
我可以将Auth用于第二种类型吗? (只有电子邮件支票)
谢谢
答案 0 :(得分:1)
我没有看到在这里使用Auth的原因(你正在使用这种方法滥用整个Auth机制。它只是处理简单查找的巨大开销)。 只需使用find(first)检查电子邮件是否存在并相应地使用结果。这就是它的全部内容。
答案 1 :(得分:0)
<?php
// Pass settings in $components array
public $components = array(
'Auth' => array(
'authenticate' => array(
'Form' => array(
'fields' => array('username' => 'email')
)
)
)
);
这对我来说很适合你!
答案 2 :(得分:0)
阅读本文
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')
)
)
)
);