#session #oracle-apex
Вопрос:
У меня есть сообщение об ошибке, которое довольно часто появляется в моих журналах: «Ошибка содержимого контрольной суммы сообщения об успехе» с кодом ошибки apex.success_msg.checksum_content_error
. Я почти уверен, что точно знаю, что происходит, в принципе:
- Пользователь загружает страницу 1, которая содержит список вещей, которые можно редактировать
- Пользователь нажимает ссылку на страницу 2, которая позволяет ему редактировать эту вещь
- Нажатие кнопки Сохранить изменения перенаправляет их обратно на страницу 1 с сообщением об успешном выполнении «Изменения в объекте сохранены».
- Пользователь закладывает версию страницы 1 с сообщением об успехе, закодированным в URL-адресе, например «…amp;success_msg=…».
- Завтра пользователь использует эту закладку, но срок действия его сеанса истек, поэтому сообщение об успешном завершении больше недействительно, и он получает сообщение об ошибке.
Могу ли я что-нибудь сделать в Apex, чтобы этого не произошло? Я могу обратиться к каждому пользователю, который делает это, и сказать ему: «Не добавляйте это в закладки, вместо этого добавьте в закладки этот другой URL», но я бы предпочел вообще предотвратить возникновение проблемы.
Единственное, что приходит на ум, — это пользовательский обработчик ошибок, который ищет эту конкретную ошибку и перенаправляет на версию URL-адреса без amp;success_msg в нем, но я даже не уверен, что вы можете перенаправить внутри такого обработчика ошибок.