2016-01-06 5 views
2

Я искал способ опубликовать свойство allowLinking, чтобы TomcatEmbeddedServletContainerFactory отслеживал символические ссылки на ресурсы, которые находятся под его documentRoot.Spring Boot Embedded Tomcat 'allowLinking' свойство

Согласно документации Tomcat 8 миграции эта функция коммутируемых тэгу «Ресурсы» для Tomcat 8+: Tomcat 8 Migration Guide

<!-- Tomcat 7: --> 
<Context allowLinking="true" /> 

<!-- Tomcat 8: --> 
<Context> 
    <Resources allowLinking="true" /> 
</Context> 

Как бы один разоблачить это свойство при настройке TomcatEmbeddedServletContainerFactory программно для приложения Spring загрузки?

ответ

0

У меня был точно такой же вопрос, и был в состоянии осуществить следующие для решения этой проблемы:

@Bean 
public EmbeddedServletContainerFactory servletContainer() 
{ 
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); 
    // allow symbolic links under the filesystem context 
    // don't use this on Windows! 
    if (IOCase.SYSTEM.isCaseSensitive()) 
    { 
     Log.info("Enabling support for symbolic links on the webserver."); 
     for (TomcatContextCustomizer customizer : tomcat.getTomcatContextCustomizers()) 
     { 
      StandardContext context = new StandardContext(); 
      context.setAllowLinking(true); 
      customizer.customize(context); 
     } 
    } 
    return tomcat; 
} 
0

Thks Erik Brandsberg, Изменить код, в Tomcat 8, чтобы решить эту проблему

@Bean 
public EmbeddedServletContainerFactory servletContainer() 
{ 
    TomcatEmbeddedServletContainerFactory tomcat = new TomcatEmbeddedServletContainerFactory(); 
    // allow symbolic links under the filesystem context 
    // don't use this on Windows! 
    if (IOCase.SYSTEM.isCaseSensitive()) 
    { 
     TomcatContextCustomizer customizer = new TomcatContextCustomizer() { 
      @Override 
      public void customize(Context context) { 
       StandardRoot r = new StandardRoot(); 
       r.setAllowLinking(true); 
       context.setResources(r); 
      } 
     }; 
     tomcat.addContextCustomizers(customizer); 

    } 
    return tomcat; 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^