2017-07-26 3 views
0

私はundertowでhttp TRACEを無効にします。私は春のブートを使用しており、アンダートウがデフォルトで提供されています。私はtomcatを除外し、undertowを使用しています。私は他のstackoverflowポスト(here)で風袋のための答えを得たが、私はundertowのために同じを見つけることができません。これは今まで私がやったことです。春のブートを使用してundertowでhttp TRACK/TRACEを無効にする

@Bean 
    public EmbeddedServletContainerCustomizer containerCustomizer() { 
     return new EmbeddedServletContainerCustomizer() { 
      @Override 
      public void customize(ConfigurableEmbeddedServletContainer container) { 
       if (container.getClass().isAssignableFrom(UndertowEmbeddedServletContainerFactory.class)) { 
        UndertowEmbeddedServletContainerFactory underTowContainer = (UndertowEmbeddedServletContainerFactory) container; 
        underTowContainer.addDeploymentInfoCustomizers(new ContextSecurityCustomizer()); 
       } 
      } 
     }; 
    } 

    private static class ContextSecurityCustomizer implements UndertowDeploymentInfoCustomizer { 
     @Override 
     public void customize(DeploymentInfo deploymentInfo) { 
      DeploymentInfo info = new DeploymentInfo(); 
      // What next after this 
     } 
    } 

このコードを完成させるのを手伝ってください。私は正しい方向に動いていますか?これは、引き波のために働く必要が

答えて

1

事前に感謝します:

@Bean 
    public EmbeddedServletContainerCustomizer containerCustomizer() { 
     return new EmbeddedServletContainerCustomizer() { 
      @Override 
      public void customize(ConfigurableEmbeddedServletContainer container) { 
       if (container.getClass().isAssignableFrom(UndertowEmbeddedServletContainerFactory.class)) { 
        UndertowEmbeddedServletContainerFactory undertowContainer = (UndertowEmbeddedServletContainerFactory) container; 
        undertowContainer.addDeploymentInfoCustomizers(new ContextSecurityCustomizer()); 
       } 
      } 
     }; 
    } 

    private static class ContextSecurityCustomizer implements UndertowDeploymentInfoCustomizer { 

     @Override 
     public void customize(io.undertow.servlet.api.DeploymentInfo deploymentInfo) { 
      SecurityConstraint constraint = new SecurityConstraint(); 
      WebResourceCollection traceWebresource = new WebResourceCollection(); 
      traceWebresource.addUrlPattern("/*"); 
      traceWebresource.addHttpMethod(HttpMethod.TRACE.toString()); 
      constraint.addWebResourceCollection(traceWebresource); 
      deploymentInfo.addSecurityConstraint(constraint); 
     } 

    } 
関連する問題