Чего я не понимаю, так это того, почему эта структура безопасности использует прокси-классы для вызова фильтровКаковы преимущества этого дизайна?
Я думаю, что документация DelegatingFilterProxy дает довольно симпатичное объяснение:
[...] Все вызовы прокси-фильтра будут делегированы этому бину вКонтекст Spring, который требуется для реализации стандартного интерфейса Servlet Filter. Этот подход особенно полезен для реализации Filter со сложными потребностями настройки, позволяя применить механизм определения полного bean-компонента Spring к экземплярам Filter.В качестве альтернативы рассмотрите стандартную настройку фильтра в сочетании с поиском служебных компонентов из корневого контекста приложения Spring. ПРИМЕЧАНИЕ: Методы жизненного цикла, определенные интерфейсом фильтра сервлетов, по умолчанию не будут делегированы целевому компоненту.полагаясь на контекст приложения Spring для управления жизненным циклом этого компонента.Если для параметра init-param фильтра «targetFilterLifecycle» задано значение «true», то он вызовет методы жизненного цикла Filter.init и Filter.destroy для целевого компонента, позволяя контейнеру сервлета управлять жизненным циклом фильтра. [...]
[...] Все вызовы прокси-фильтра будут делегированы этому бину вКонтекст Spring, который требуется для реализации стандартного интерфейса Servlet Filter.
Этот подход особенно полезен для реализации Filter со сложными потребностями настройки, позволяя применить механизм определения полного bean-компонента Spring к экземплярам Filter.В качестве альтернативы рассмотрите стандартную настройку фильтра в сочетании с поиском служебных компонентов из корневого контекста приложения Spring.
ПРИМЕЧАНИЕ: Методы жизненного цикла, определенные интерфейсом фильтра сервлетов, по умолчанию не будут делегированы целевому компоненту.полагаясь на контекст приложения Spring для управления жизненным циклом этого компонента.Если для параметра init-param фильтра «targetFilterLifecycle» задано значение «true», то он вызовет методы жизненного цикла Filter.init и Filter.destroy для целевого компонента, позволяя контейнеру сервлета управлять жизненным циклом фильтра. [...]