2017-10-16 4 views
0

J'ai l'application web springMVC suivante. C'est le répertoire. J'ai tous les css et js dans le fournisseur dossier:Fichiers de ressources de chargement de lots SpringMVC (JS et CSS)

enter image description here

Ceci est ma configuration de sécurité. Je l'ai essayé d'ajouter "/ ressources/fournisseur/" "/ vendeur/", mais rien ne semble fonctionner:

SecurityConfiguration

@Configuration 
@EnableWebSecurity 
public class SecurityConfiguration extends WebSecurityConfigurerAdapter { 

    @Autowired 
    private BCryptPasswordEncoder bCryptPasswordEncoder; 

    @Autowired 
    private DataSource dataSource; 

    @Value("${spring.queries.users-query}") 
    private String usersQuery; 

    @Value("${spring.queries.roles-query}") 
    private String rolesQuery; 

    @Override 
    protected void configure(AuthenticationManagerBuilder auth) 
      throws Exception { 
     auth. 
       jdbcAuthentication() 
       .usersByUsernameQuery(usersQuery) 
       .authoritiesByUsernameQuery(rolesQuery) 
       .dataSource(dataSource) 
       .passwordEncoder(bCryptPasswordEncoder); 
    } 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 

     http. 
       authorizeRequests() 
       .antMatchers("/", "/resources/vendor/**", "/vendor/**", "/css/**").permitAll() 
       .antMatchers("/login").permitAll() 
       .antMatchers("/registration").permitAll() 
       .antMatchers("/admin/**").hasAuthority("ADMIN").anyRequest() 
       .authenticated().and().csrf().disable().formLogin() 
       .loginPage("/login").failureUrl("/login?error=true") 
       .defaultSuccessUrl("/admin/home") 
       .usernameParameter("email") 
       .passwordParameter("password") 
       .and().logout() 
       .logoutRequestMatcher(new AntPathRequestMatcher("/logout")) 
       .logoutSuccessUrl("/").and().exceptionHandling() 
       .accessDeniedPage("/access-denied"); 
    } 

    @Override 
    public void configure(WebSecurity web) throws Exception { 
     web 
       .ignoring() 
       .antMatchers("/resources/**", "/static/**", "/css/**", "/js/**", "/images/**", "/vendor/**","/favicon.ico"); 
    } 

} 

Et webconfig. Le chemin de ressource est configurée:

WebMvcConfig

@Configuration 
public class WebMvcConfig extends WebMvcConfigurerAdapter { 

    /** 
    * @return 
    */ 
    @Bean 
    public BCryptPasswordEncoder passwordEncoder() { 
     BCryptPasswordEncoder bCryptPasswordEncoder = new BCryptPasswordEncoder(); 
     return bCryptPasswordEncoder; 
    } 

    @Override 
    public void addResourceHandlers(final ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**").addResourceLocations("/resources/"); 
    } 

} 

Les ressources ne sont pas le chargement. Pas de 404 erreurs:

enter image description here

Ceci est un exemple des mêmes fichiers de travail:

enter image description here

L'en-tête HTML:

<head> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 
    <meta name="description" content=""> 
    <meta name="author" content=""> 
    <title>TEST</title> 

    <!-- Bootstrap core CSS--> 
    <link href="vendor/bootstrap/css/bootstrap.min.css" > 
    <!-- Custom fonts for this template--> 
    <link href="vendor/font-awesome/css/font-awesome.min.css" type="text/css"> 
    <!-- Custom styles for this template--> 
    <link href="css/sb-admin.css" > 

</head> 

Répondre

1

Vous devez mettre css et js à l'intérieur \src\main\resources\static, donc si vous souhaitez utiliser le dossier du vendeur, il doit être déplacé à l'intérieur static folde r.