Zend Framework 2. ZfcUser. Ошибка аутентификации с правильным адресом электронной почты/паролем, когда я добавил новый элемент в форму входа

Я получил ошибку аутентификации с правильным адресом электронной почты/паролем зарегистрированного пользователя, когда добавил новый элемент в форму входа в ZfcUser.

Я добавил новый элемент в функцию начальной загрузки с помощью следующих строк:

<?php

namespace SystemUser;

use Zend\Mvc\ModuleRouteListener;
use Zend\Mvc\MvcEvent;

public function onBootstrap($e)
{
    $events = $e->getApplication()->getEventManager()->getSharedManager();
    $sharedEvents->attach('ZfcUser\Form\Login',
        'init',
        function($e)
        {
            // @var $form \ZfcUser\Form\Login
            $form = $e->getTarget();

            // Configure email input
            $form->get('identity')
                ->setAttribute('placeholder', 'Your email')
                ->setAttribute('class', 'text-input')
                ->setAttribute('title', 'Your email');

            // Configure password input
            $form->get('credential')
                ->setAttribute('placeholder', 'Your password')
                ->setAttribute('class', 'text-input')
                ->setAttribute('title', 'Your password');

            // Configure submit button
            $form->get('submit')
                ->setAttribute('class', 'btn btn-primary submit');

            // Add field "Keep me signed in."
            $form->add(
                array(
                    'type' => 'Zend\Form\Element\Checkbox',
                    'name' => 'keep_signed_in',
                    'options' => array(
                        'label' => 'Keep me signed in.',
                        'use_hidden_Element' => true,
                        'checked_value' => '1',
                        'unchecked_value' => '0'
                    ),
                    'attributes' => array(
                        'id' => 'keep_signed_in',
                    ),
                )
            );

        }
    );

}

Но с новым элементом «keep_signed_in» форма входа всегда возвращает ошибку «Аутентификация не удалась. Пожалуйста, попробуйте еще раз».

Пожалуйста помоги. Что я должен сделать, чтобы удалить эту ошибку с реальными параметрами авторизации?

Спасибо вам, ребята!


person mcfly's    schedule 18.12.2014    source источник
comment
Если вы получаете ошибку авторизации, то, вероятно, проблема связана со сценарием, выполняющим вход в систему. Это связано со сценарием PHP, который вы скрываете от нас?   -  person Mr. Concolato    schedule 19.12.2014
comment
Я ни от кого не прячу код. Когда я удалил код $form-›add( ... ), аутентификация начала работать хорошо. Но мне нужен этот флажок.   -  person mcfly's    schedule 19.12.2014


Ответы (2)


Похоже, вы пытаетесь сделать что-то, что уже делает другой модуль: https://github.com/goalio/GoalioRememberMe (я знаю, что это не ответ на ваш вопрос, но сейчас вам может не понадобиться ответ :))

person Danielss89    schedule 18.12.2014
comment
Спасибо, Даниэль. Я попробую это, если не узнаю решение темы. - person mcfly's; 19.12.2014

Я узнаю решение! :)

Я забыл указать фильтр для этого флажка с required=false:

$sharedEvents->attach('ZfcUser\Form\LoginFilter', 'init', function($e) {
        // @var $form \ZfcUser\Form\LoginFilter
        $filter = $e->getTarget();

        // Custom field keep_signed_in
        $filter->add(array(
                'name'       => 'keep_signed_in',
                'required'   => false,
            )
        );

    }
);
person mcfly's    schedule 19.12.2014