我们正在尝试将Magnolia管理的内容嵌入到现有Web应用程序的某些JSP中。在Tomcat中,我们部署并设置了一个“magnoliaAuthor”上下文,该上下文沿着我们现有的“app”环境运行。
因此,例如,我们希望现有的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时)。这似乎是请求被Magnolia拒绝了。
我们无法找到如何将此用例放在一起的确切描述。任何暗示都将受到赞赏。
谢谢。
答案 0 :(得分:2)
HTTP 401 unauthorized :
请求需要用户身份验证。
哪个有意义:magnoliaAuthor实例总是需要用户名和密码才能登录,因为它是editors work的实例。
您需要的是向magnoliaAuthor发送用户名和密码。我的研究表明,Magnolia使用了两个登录过滤器,放在/server/filters/login/loginHandlers
:
您可以使用HTTP基本身份验证并包含您的Magnolia页面,如:
<c:import url="http://username:password@example.com/magnoliaAuthor/app/test" />
注意:您写道,您没有遇到任何问题,包括/magnoliaAuthor/footer
。这意味着您访问这两个站点的安全配置是不同的。您应该考虑检查这一点,通常您不希望未经授权可以访问magnoliaAuthor中的任何资源。