おそらく、これが発生する可能性のある多くの方法があります。私の場合、制約に役割セットがなかったために発生しました。このコードは 403 を生成しました:
private void secureServlet(ServletContextHandler handler) {
ConstraintSecurityHandler security = new ConstraintSecurityHandler();
security.setRealmName(this.realm);
security.setAuthenticator(new BasicAuthenticator());
security.setLoginService(new WebLoginService(this.engine));
Constraint constraint = new Constraint();
constraint.setName(Constraint.__BASIC_AUTH);
//constraint.setRoles(new String[]{"user"});
constraint.setAuthenticate(true);
ConstraintMapping mapping = new ConstraintMapping();
mapping.setConstraint(constraint);
mapping.setPathSpec("/*");
security.addConstraintMapping(mapping);
handler.setSecurityHandler(security);
}
ロール行にコメントすると、jetty は代わりに 401:s で応答するように求められます。