Предотвратить «ошибку содержимого контрольной суммы сообщения об успешном выполнении», если сеанс недействителен?

#session #oracle-apex

Вопрос:

У меня есть сообщение об ошибке, которое довольно часто появляется в моих журналах: «Ошибка содержимого контрольной суммы сообщения об успехе» с кодом ошибки apex.success_msg.checksum_content_error . Я почти уверен, что точно знаю, что происходит, в принципе:

  1. Пользователь загружает страницу 1, которая содержит список вещей, которые можно редактировать
  2. Пользователь нажимает ссылку на страницу 2, которая позволяет ему редактировать эту вещь
  3. Нажатие кнопки Сохранить изменения перенаправляет их обратно на страницу 1 с сообщением об успешном выполнении «Изменения в объекте сохранены».
  4. Пользователь закладывает версию страницы 1 с сообщением об успехе, закодированным в URL-адресе, например «…amp;success_msg=…».
  5. Завтра пользователь использует эту закладку, но срок действия его сеанса истек, поэтому сообщение об успешном завершении больше недействительно, и он получает сообщение об ошибке.

Могу ли я что-нибудь сделать в Apex, чтобы этого не произошло? Я могу обратиться к каждому пользователю, который делает это, и сказать ему: «Не добавляйте это в закладки, вместо этого добавьте в закладки этот другой URL», но я бы предпочел вообще предотвратить возникновение проблемы.

Единственное, что приходит на ум, — это пользовательский обработчик ошибок, который ищет эту конкретную ошибку и перенаправляет на версию URL-адреса без amp;success_msg в нем, но я даже не уверен, что вы можете перенаправить внутри такого обработчика ошибок.