Развертывание Orbeon бок о бок с Spring Security и корневым веб-контекстом - PullRequest
0 голосов
/ 05 марта 2012

Я развернул Orbeon Forms бок о бок с другим веб-приложением, назовем его myapp.war. Мое веб-приложение может отправить xhtml в Orbeon и сохранить его в хранилище данных. Я также использую Spring Security для управления пользователями. Поэтому в файле web.xml сначала объявлен фильтр Spring Security, а затем фильтр Orbeon Forms. Все это прекрасно работает.

Если я развертываю myapp в корневом контексте (например, root.war), это нарушает Spring Security при сохранении данных. Причина в том, что сохранение не проходит через / myapp / orbeon / xforms-server-submit для обработки Spring Security, а затем через фильтр форм Orbeon, но напрямую через / orbeon / xforms-server-submit, поскольку myapp был развернут как root.

Кто-нибудь знает, есть ли решение этой проблемы?

1 Ответ

1 голос
/ 29 апреля 2012

На самом деле решение очень простое, я бы неправильно понял, что происходит, но по умолчанию фильтры сервлетов применяются только к запросам, а не к пересылкам, поэтому цепочка фильтров Spring Security не применялась, когда запросы пересылались из Orbeon, и поэтому Приложение не было заверено. Просто добавьте диспетчер FORWARD в конфигурацию xml:

<filter-mapping>
  <filter-name>springSecurityFilterChain</filter-name>
  <url-pattern>/*</url-pattern>
  <dispatcher>REQUEST</dispatcher>
  <dispatcher>FORWARD</dispatcher>
</filter-mapping>

Надеюсь, это кому-нибудь пригодится.

...