Перенаправление пользователя обратно на первоначально нужный URL после входа в систему

Пример:

  1. Пользователь не зарегистрирован
  2. У пользователя есть товары в корзине покупок
  3. Пользователь переходит в / checkout
  4. Пользователь перенаправляется на страницу / login
  5. Пользователь регистрируется успешно и должен быть перенаправлен обратно на страницу / checkout

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

Достаточно ли параметра строки запроса на странице входа?

например: http://www.example.com/Login.php?returnUrl=%5BsomeUrl%5D

После успешной аутентификации пользователь будет перенаправлен на url, указанный в строке запроса.

Изменить: Это общее решение, многие из которых не являются опцией, учитывая используемую вами структуру. Но что-то учитывать.

Я отправил немного кода из моего класса «My_Form», у которого есть отслеживание «referrer», встроенное в форму на SO1249274 . Другие решения, размещенные там, могут помочь вам решить вашу проблему.

Я сделал, где мы перенаправляем / login с помощью простого параметра «возврат». Вход видит параметр и проверяет референт, чтобы увидеть его одну из наших страниц. Если это так, он перенаправляет обратно на этот референт. Работает очень хорошо. В противном случае можно поместить «пункт назначения» для перенаправления после входа в другой параметр (пусть это будет запрос или сеанс или событие flashmessage)

Я использую переменную сеанса, чтобы сохранить запрошенный URL. Когда он успешно войдет в систему, я проверю, установлена ​​ли эта переменная сеанса. Если он установлен, я перенаправляю запрашиваемый URL.