An article takes you to solve SpringBoot+SpringSecurity not intercepting static resources

1. Problem description

After adding SpringSecurity to SpringBoot, static resources are always filtered, which makes the interface ugly:
Insert picture description here
Directory structure:
Insert picture description here

2. Problem solving

Normally, resources are not intercepted. When I check data, I basically re-config the method:

package org.yolo.securitylogin.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.crypto.password.NoOpPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

/**
 * @Auther: Yolo
 * @Date: 2020/9/12 13:05
 * @Description:
 */
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    
    
    @Bean
    PasswordEncoder passwordEncoder() {
    
    
        return NoOpPasswordEncoder.getInstance();
    }

    @Override
    protected void configure(AuthenticationManagerBuilder auth) throws Exception {
    
    
        //在内存中进行配置
        auth.inMemoryAuthentication()
                .withUser("yolo")
                .password("123").roles("admin");
    }

    @Override
    public void configure(WebSecurity web) throws Exception {
    
    
        //web.ignoring().antMatchers("/static/js/**", "/static/css/**", "/static/images/**");
        web.ignoring().antMatchers("/js/**", "/css/**","/images/**");
    }
    
    @Override
    protected void configure(HttpSecurity http) throws Exception {
    
    
        http.authorizeRequests()
                .anyRequest().authenticated()
                .and()
                .formLogin()
                .loginPage("/login.html")
                .permitAll()//跟登录相关的页面统统放行
                .and()
                .csrf().disable()
        ;
    }
}

The conventional method is:

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

Insert picture description here

It must be remembered here that after configuring configure in this way, you must clear the target, otherwise it will not take effect

Insert picture description here

Guess you like

Origin blog.csdn.net/nanhuaibeian/article/details/108554515