Как я могу использовать редирект с ZfcUser?

Я хочу перенаправить неаутентифицированный запрос в действие входа в 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, но не перенаправляет обратно на исходную запрашиваемую страницу после входа в систему.

Есть идеи, что может быть не так?

1

Решение

Обратите внимание, что вы должны передать маршрут в качестве параметра перенаправления, а не URI. Если вы хотите использовать URL, посмотрите на этот модуль: https://github.com/Eye4web/E4WZfcUserRedirectUrl

1

Другие решения

Я переопределял представления по умолчанию своими собственными. На мой взгляд, я пропустил скрытый элемент перенаправления формы.

Добавление скрытого элемента формы перенаправления решило проблему перенаправления.

Я также использую старую версию ZfcUser, и я считаю, что эта функция могла меняться между версиями.

0

По вопросам рекламы [email protected]