как вы можете обойти цепь фильтра в магнолии смс? - PullRequest
3 голосов
/ 25 октября 2011

Как мне обойти всю цепочку фильтров?

Я бы хотел, чтобы URL, начинающиеся с /web/, были обойдены, чтобы диспетчер пружин мог их получить.

Спасибо:)

Ответы [ 3 ]

2 голосов
/ 25 октября 2011

В Магнолии вы можете настроить обходы для каждого узла фильтра в / server / filters ... или непосредственно под этим узлом, чтобы обойти всю цепочку. Вы также можете просто изменить отображение в своем файле web.xml

1 голос
/ 31 октября 2011

Чтобы исключить обработку URI из цепочки фильтров Magnolia, добавьте сопоставление в / server / webContainerResources / mappings в конфигурации.

Другой вариант - добавить исключение во всей цепочке фильтров.Это означает, что цепочка фильтров полностью обойдена, тогда как добавление сопоставления WebContainerResource означает, что некоторые фильтры применяются.Например, фильтр, который устанавливает контекст Магнолии.

Подробнее см. Обработка запросов и фильтры в Техническом руководстве.

0 голосов
/ 25 октября 2011

Одна вещь, о которой я могу подумать, - это прямой вызов метода сервлета-диспетчера service(..) из вашего фильтра.Как получить диспетчерский сервлер - он должен быть зарегистрирован как пружинный компонент, так что, я думаю, вы можете взять его из контекста с помощью WebApplicationContextUtils

Но это ужасно.Вам лучше настроить URL-адреса сопоставления фильтров.И на самом деле, в чем причина того, что какой-то фильтр не продолжает работать с сервлетом диспетчера?

...