Как избежать утечки информации о типе при использовании конвертеров Spring? - PullRequest
1 голос
/ 27 апреля 2020

В приложении Spring MVC я зарегистрировал конвертер в @InitBinder для преобразования числовых параметров запроса c в некоторый тип домена. Работает нормально. Однако, когда преобразование завершается неудачно, результирующий объект ошибки (с использованием zalando / problem-spring-web ) будет сообщать клиенту сведения о запрошенном типе Java. Наши эксперты по безопасности считают, что это проблема.

Виновник в этом , вероятно, , а не библиотека проблем, создающая ответ - он просто получает сообщение из выданного исключения. Это сообщение создано в конструкторе TypeMismatchException. Это исключение, которое будет обернуто вокруг любого исключения, которое я выброшу сам. Я могу бросить его напрямую и передать в него несколько null значений, пока сообщение не станет Failed to convert value of type 'java.lang.String'. Это наполовину хорошо, потому что целевой тип там не закодирован.

Есть ли способ передать значимое сообщение из конвертера, но избегать появления целевого типа в сообщении исключения, которое пузырится?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...