使用spring boot + spring security

时间:2016-01-27 10:37:30

标签: java angularjs spring spring-security gulp

我在angularjs应用程序上工作,我尝试使用Spring启动服务静态资源(我的前端)。

我使用gulp构建项目,我得到了这个分发结构: enter image description here

  • 此处是哈希文件夹
  • 的内容

enter image description here

我的spring security配置如下所示:

@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .exceptionHandling()
            .authenticationEntryPoint(myEntryPoint());
    http
            .authorizeRequests()
            .antMatchers("/__hash__/**").permitAll() 
            .antMatchers("/views/**").permitAll()
            .antMatchers("/index.html").permitAll()
            .antMatchers("/api/**").authenticated()
            .antMatchers("/**").permitAll(); 

    http    // login configuration
            .addFilterAfter(springSecurityFilter(), BasicAuthenticationFilter.class);

    /*http
            .authorizeRequests()
            .anyRequest().authenticated();*/

    http    //logout configuration
            .logout()
            .logoutSuccessHandler(logoutHandler());

    http.csrf().disable();

}

用于提供静态内容的配置弹簧:

@Configuration
public class MyContentConfig extends WebMvcConfigurerAdapter {

@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
    registry
            .addResourceHandler("/**")
            .addResourceLocations("file:///" + "c:/front/") ;
}

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/").setViewName("forward:/index.html");
}

}

验证后,我获得了index.html页面但没有css样式且没有js。

enter image description here

当我尝试使用此网址" https://localhost:9999/hash/styles.min.css"访问css时我收到这个错误:

 There was an unexpected error (type=Not Acceptable, status=406).
 Could not find acceptable representation

2 个答案:

答案 0 :(得分:2)

您正在 http 上加载 livereload.js 。如果您使用的是https,则必须通过https加载所有资源。 所以通过https 加载livereload.js。

答案 1 :(得分:0)

我解决了这个问题。它与“spring-cloud-config-server”有关。我只是删除这个配置:                    org.springframework.cloud             弹簧云配置服务器