Cakephp 2应用程序在登录失败时呈现警报框

时间:2016-12-20 19:23:06

标签: php authentication cakephp

我想要做的就是想出一个闪光提示,但它一直给我一个带有另一个登录电子邮件/密码框的JS警告框。

继承定义Auth的AppController

class AppController extends Controller {
    public $components = array( 'Auth' => array(
    'loginAction' => array(
        'controller' => 'Customers',
        'action' => 'login'
    ),
    'authError' => 'Please log in',
    'authenticate' => array(
        'Form' => array(
            'fields' => array(
              'username' => 'Email',
              'password' => 'password'
            )
        )
    )
), 'Security', 'AntiXss', 'Cookie', 'DebugKit.Toolbar', 'Session');
    public $helpers = array('Js', 'Html', 'Form', 'Number', 'DateFormat', 'Currency', 'Session');
    public $uses = array('Language', 'Customer', 'Affiliate', 'Setting', 'Whitelabel');

继承控制器中的登录功能:

 function login() {
            if($this->loggedCustomerData) { $this->redirect("/"); } // If user is logged in, redirect to home
            if ($this->request->is('post')) {
                if ($this->Auth->login()) {
                    return $this->redirect($this->Auth->redirect('/accounts/'));
             } else {
                    $this->Session->setFlash(__('Username or password is incorrect'), 'default', array(), 'auth');
                     }
             }
    }

在我的默认视图中,我有:

 <div id="container">
            <?php
            echo $this->Session->flash();
            echo $this->Session->flash('auth');
            ?>
  </div>

1 个答案:

答案 0 :(得分:0)

好吧,我得到了答案。

在身份验证初始化中,我将其设置为在Form和Basic上工作。注释掉Basic,它运行得很好。你去,没有警报框。