2016-03-03 90 views
3

我有这样来配置启用Spring Security的春天启动应用程序:直到我改变上下文路径春Webjars定位和上下文路径

@Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http 
      .authorizeRequests() 
       .antMatchers("/", "/home", "/webjars/**", "/css/**").permitAll() 
       .anyRequest().authenticated() 
       .and() 
      .formLogin() 
       .loginPage("/login") 
       .permitAll() 
       .and() 
      .logout() 
       .permitAll(); 
    } 

,一切工作正常。例如,如果我这样设置它:

server: 
    context-path: /myapp 

我不能访问我的webjars,CSS ......他们还在看:http://localhost:8080/webjars/ ...

我该如何配置Spring Webjars使它工作,不管上下文路径?

+0

是什么WebMvcConfigurerAdapter的配置? – JEY

+0

配置如下所示: \t registry.addViewController(“/ home”)。setViewName(“home”); registry.addViewController(“/”)。setViewName(“home”); registry.addViewController(“/ hello”)。setViewName(“hello”); registry.addViewController(“/ login”)。setViewName(“login”); – dplesa

回答

3

好的,我解决了这个问题。

我忘记了要求Thymeleaf引擎处理我的CSS和js文件的相对路径。所以,基本上我在我的模板改变了这一点:

<link rel="stylesheet" type="text/css" href="/webjars/bootstrap/css/bootstrap.min.css" /> 

这样:

<link rel="stylesheet" type="text/css" th:href="@{/webjars/bootstrap/css/bootstrap.min.css}" />