У меня есть security-spring.xml с некоторыми общими правилами, применяемыми ко многим URL-адресам, и я хочу сделать исключение для одного конкретного URL-адреса, который также соответствует этому шаблону. Могу ли я сделать это, не копируя тег <http> полностью?
Я пробовал следующее:
<beans ...>
<http pattern = "/a/b" xmlns = "http://www.springframework.org/schema/security" >
<csrf disabled = "true"/><!-- An exception I want to add -->
</http>
<http pattern = "/a/**" xmlns = "http://www.springframework.org/schema/security" ...someproperties >
<!-- General config for many urls -->
</http>
</beans>
Доступ к /a/b без токена csrf работает, но похоже, что он не наследует никаких свойств конфигурации от шаблона /a/**.
Так и должно быть (каждый http независим) или есть способ «добавить» это исключение к /a/b и унаследовать остальное от /a/**?
Весенняя версия безопасности: 4.2.6
Элемент конфигурации <csrf> является подэлементом основного элемента контейнера для конфигурации безопасности, то есть элемента <http>.
Так что да, если вы хотите, чтобы Подделка запроса на сайте Corss был отключен/включен для настроенного вложенного URL-адреса, вы должны продублировать все необходимые элементы конфигурации.
Одним из конкретных решений, позволяющих избежать дублирования, является выбор конфигурации на основе Джава.