Встраивание контента Magnolia в существующее веб-приложение

Мы пытаемся внедрить контент, управляемый Magnolia, в некоторые JSP-страницы существующего веб-приложения. В Tomcat мы развернули и настроили контекст «magnoliaAuthor», который работает вместе с нашим существующим контекстом «приложения».

Так, например, мы хотели бы, чтобы существующий JSP, такой как /app/test.jsp, включал страницу Magnolia, такую ​​как /magnoliaAuthor/footer (просто div). В браузере путь /magnoliaAuthor/footer отображается нормально, но мы сталкиваемся с проблемами при попытке включить его в /app/test.jsp, используя:

  • c:import
  • jsp:include

и тому подобное, как с относительными, так и с абсолютными путями к /magnoliaAuthor/footer..

В лучшем случае мы получаем следующее:

Сервер вернул код ответа HTTP: 401 для URL: http://localhost:8080/magnoliaAuthor/footer (когда используется абсолютный URL). Похоже, Магнолия отклонила запрос.

Мы не смогли найти точное описание того, как этот вариант использования должен быть составлен. Любой намек будет оценен.

Спасибо.


person Daniel Paval    schedule 23.10.2013    source источник
comment
Здравствуйте, Даниэль, я вернул вопрос к исходному содержанию, потому что ваше редактирование радикально изменило его значение. Насколько я понимаю, ваша первоначальная проблема (код состояния unauthorized) решена. Не стесняйтесь задавать еще один вопрос о вашей новой проблеме.   -  person Uooo    schedule 24.10.2013
comment
Хорошо, извините за это, я разместил обновленный вопрос по ссылке. Спасибо за вашу помощь.   -  person Daniel Paval    schedule 24.10.2013
comment
Добро пожаловать. Кстати, если ответ решил вашу проблему, вы можете пометить его как принятый, щелкнув значок ✓ слева от него.   -  person Uooo    schedule 28.10.2013


Ответы (1)


HTTP 401 является неавторизованным:

Запрос требует аутентификации пользователя.

Что имеет смысл: экземпляру magnoliaAuthor всегда требуются имя пользователя и пароль, чтобы вы могли войти в систему, поскольку это экземпляр, где работают редакторы.

Что вам нужно, так это отправить magnoliaAuthor имя пользователя и пароль. Мои исследования показали, что Magnolia использует два логин-фильтра, размещенных в /server/filters/login/loginHandlers:

Вы можете использовать базовую аутентификацию HTTP и включить свою страницу Magnolia, например:

<c:import url="http://username:[email protected]/magnoliaAuthor/app/test" />

Примечание. Вы написали, что у вас нет проблем, включая /magnoliaAuthor/footer. Это означает, что ваша конфигурация безопасности для доступа к этим двум сайтам отличается. Вы должны проверить это, обычно вы не хотите, чтобы какой-либо ресурс в magnoliaAuthor был доступен без авторизации.

person Uooo    schedule 24.10.2013
comment
Да, вы правы, ответ 401 был вызван тем, что я не вошел в экземпляр автора, поэтому я переключился на /magnoliaPublic/footer, но проблема не устранена - я обновлю вопрос, чтобы сделать его более ясным. Спасибо. - person Daniel Paval; 24.10.2013