我尝试按照the offical tutorial为我在Jetty上运行的唯一网络应用启用MD5身份验证。 Nginx管理ssl并重定向到jetty
我放了
<Call name="addBean">
<Arg>
<New class="org.eclipse.jetty.security.HashLoginService">
<Set name="name">My Realm</Set>
<Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
<Set name="refreshInterval">0</Set>
</New>
</Arg>
</Call>
在jetty.xml
中,realm.properties的内容为:
test: MD5:098f6bcd4621d373cade4e832627b4f6,user
在教程中,他们没有告诉将领域分配到上下文的位置,所以我不知道在哪里放置它:
<Configure class="org.eclipse.jetty.webapp.WebAppContext">
<Get name="securityHandler">
<Set name="realmName">My Realm</Set>
</Get>
</Configure>
我试图加入jetty-context.xml
和web.xml
,但它仍无效。当我将它放在jetty.xml
时,我收到502(坏网关),在其他情况下,我从Web服务获得正常的json结果(我不应该得到503 - 未经授权?)
答案 0 :(得分:2)
“上下文XML文件”(如Configuring Security Realms中所述)是指Webapp deployment using the ContextProvider(默认情况下在jetty-distribution上启用)。
这通过使用XML文件来部署webapps,该文件通常位于${jetty.home}/contexts/
中,其中描述了该webapp在磁盘上的位置,以及有关如何部署该Web应用程序的一些详细信息。
您还可以使用WEB-INF/jetty-web.xml
将此Context配置嵌入WAR文件中。