Я хочу перенаправить неаутентифицированный запрос в действие входа в ZfcUser, а затем перенаправить на исходный запрос после успешного входа в систему.
У меня есть этот код внутри моего действия контроллера;
// Check we are logged in.
if (!$this->zfcUserAuthentication()->hasIdentity()) {
// Set the 'redirect' parameter
$redirect = $this->getRequest()->getRequestUri();
$this->getRequest()->getQuery()->set('redirect', $redirect);
// Forward request to zfcUser's login action.
return $this->forward()->dispatch('zfcuser', array(
'action' => 'login'
));
}
Я откомментировал эту строку в конфиге ZfcUser;
'use_redirect_parameter_if_present' => true,
Он пересылает действие входа в систему ZfcUser, сохраняя исходный URL, но не перенаправляет обратно на исходную запрашиваемую страницу после входа в систему.
Есть идеи, что может быть не так?
Обратите внимание, что вы должны передать маршрут в качестве параметра перенаправления, а не URI. Если вы хотите использовать URL, посмотрите на этот модуль: https://github.com/Eye4web/E4WZfcUserRedirectUrl
Я переопределял представления по умолчанию своими собственными. На мой взгляд, я пропустил скрытый элемент перенаправления формы.
Добавление скрытого элемента формы перенаправления решило проблему перенаправления.
Я также использую старую версию ZfcUser, и я считаю, что эта функция могла меняться между версиями.