Spring SecurityXML. наследование тега http - PullRequest
0 голосов
/ 15 мая 2019

У меня есть 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/**?

Версия Spring-security: 4.2.6

1 Ответ

0 голосов
/ 15 мая 2019

Элемент конфигурации <csrf> является подэлементом основного элемента контейнера для настройки безопасности, то есть элемент <http>.

Так что да, если вы хотите иметь Corss-Site Request Forgery отключено / включено для сконфигурированного под-URL, вам необходимо продублировать все необходимые элементы конфигурации.

Одним из конкретных решений, позволяющих избежать дублирования, было бы выбрать Java *Конфигурация на основе 1010 *.

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