У меня есть веб-проект Spring MVC, уже развернутый в рабочей среде и запущенный.Он имеет много HTML-форм и многие конечные точки в контроллере имеют запрос GET с параметрами строки запроса.
Например: http://www.examplesite.com/user?userId=123
Мы используемБаза данных MySQL.В приведенном выше примере строка запроса userId ' 123 является первичным ключом таблицы mysql .Так как это целочисленное значение, оно может быть легко изменено любым пользователем, и он может видеть данные, которые он не должен видеть.
Мне нужно зашифровать 123 для некоторой случайной строки(например, abcrtxjfojgo33joijo3 или что-то в этом роде).
Проблема в том, что проект уже развернут, и для изменения параметров строки запроса с Integer на String потребуется слишком много изменений в моих представлениях, контроллерах и даже в службах, и это совсем не осуществимо для меня в этомstage.
Есть ли какой-нибудь возможный и надежный способ получения целочисленного запроса Строки шифруются перед отправкой в View и снова дешифруются при получении в контроллере?
Примечание: Это не повторяющийся вопрос "КАК ЗАПИСАТЬ / ДЕКРИПРОВАТЬ QUERY STRING PARAMS?"вопрос.
Пожалуйста, прочитайте мои вопросы, прежде чем пометить их как дубликаты.