在jetty 8中启用身份验证领域

时间:2013-03-14 16:28:19

标签: authentication jetty restful-authentication jetty-8

我尝试按照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.xmlweb.xml,但它仍无效。当我将它放在jetty.xml时,我收到502(坏网关),在其他情况下,我从Web服务获得正常的json结果(我不应该得到503 - 未经授权?)

1 个答案:

答案 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文件中。