Я получил ошибку аутентификации с правильным адресом электронной почты / паролем зарегистрированного пользователя, когда я добавил новый элемент в форму входа в 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 форма входа всегда возвращает ошибку «Аутентификация не удалась. Пожалуйста, попробуйте снова».
Пожалуйста помоги. Что я должен сделать, чтобы сбросить эту ошибку с настоящими параметрами аутентификации?
Спасибо вам, ребята!
Похоже, вы пытаетесь сделать что-то, что уже делает другой модуль: https://github.com/goalio/GoalioRememberMe (я знаю, что это не ответ на ваш вопрос, но теперь вам может не понадобиться ответ :))
Я найду решение! 🙂
Я забыл указать фильтр для этого флажка с обязательным = ложь:
$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,
)
);
}
);