使用jetty8的基本身份验证不起作用

时间:2013-12-02 09:51:04

标签: java xml jetty basic-authentication

我尝试将jetty配置为使用基本的http身份验证。我按照一些教程,但它仍然无法正常工作。 这是我做的: 首先,我在jetty.xml中配置了一个HashLoginService“Test Realm”。

/etc/jetty8/jetty.xml:

...
<Call name="addBean">
  <Arg>
    <New class="org.eclipse.jetty.security.HashLoginService">
      <Set name="name">Test Realm</Set>
      <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/realm.properties</Set>
      <Set name="refreshInterval">0</Set>
    </New>
  </Arg>
</Call>
...

之后我在webdefault.xml中定义了user-roles和login-config

/etc/jetty8/webdefault.xml:

<security-constraint>
  <web-resource-collection>
    <web-resource-name>A Protected Page</web-resource-name>
    <url-pattern>/*</url-pattern>
  </web-resource-collection>
  <auth-constraint>
    <role-name>admin</role-name>
    <role-name>user</role-name>
    <role-name>moderator</role-name>
  </auth-constraint>
</security-constraint>
<login-config>
  <auth-method>BASIC</auth-method>
  <realm-name>Test Realm</realm-name>
</login-config>


<security-role>
  <role-name>user</role-name>
</security-role>

最后我编辑了/etc/realm.properties文件:

test: test,user

当我尝试访问该网站时,会出现一个登录窗口。如果我进入测试用户,则再次显示验证窗口,而不显示任何错误消息。还有什么我需要配置的吗? 我想保护整个服务器,包括所有的webapps。所以最好只使用.xml配置文件。

提前致谢, 罗伯特

0 个答案:

没有答案