Мы реализовали доступ к Контроллеру и действиям с картой запросов. скажем, URL-адрес типа www.example.com/car/list для доступа к ROLE_ADMIN. но этот ресурс может обойти безопасность Spring, если мы попробуем использовать URL типа www.example.com/adsf. автомобиль / список
RequestMap выглядит так: / car / ** -> ROLE_ADMIN
Как запретить URL-адресу, как в приведенном выше примере, обойти проверку безопасности спринта?
Я попытался изменить карту запроса на / car / * -> ROLE_ADMIN, но у нас возникли проблемы с такими ссылками, мы не можем обновить шаблон для всех из них.
1 ответ
Одно из найденных нами решений - добавление ограничений в URLMappings. Допускаются только буквы, числа и '_', '/' в URL-адресе запроса.
Без указанных ниже ограничений любой может обойти URL-адрес, защищенный с помощью Spring Security requestMap, добавив [точку] к контроллеру или действию.
"/$controller/$action?"{
constraints {
controller(matches:/[A-Za-z0-9\-_]*/)
action(matches:/[A-Za-z0-9\-_]*/)
}
}
ПРИМЕЧАНИЕ. Если вы используете приложение Spring и карту запросов для защиты доступа к своим ресурсам, проверьте, надежно ли они защищены, добавив [точку] к контроллеру и действию
Похожие вопросы
Новые вопросы
spring
Spring Framework - это среда с открытым исходным кодом для разработки приложений на платформе Java. В ее основе лежит широкая поддержка компонентно-ориентированных архитектур, и в настоящее время в ней имеется более двадцати высокоинтегрированных модулей.
requestMap
?/adsf.car/list
возвращает тот же контент, что и запрос к/car/list
? Паттерн /car/** не должен защищать/adsf.car/list
.