Un artículo lo lleva a resolver SpringBoot + SpringSecurity sin interceptar recursos estáticos

1. Descripción del problema

Después de agregar SpringSecurity a SpringBoot, los recursos estáticos siempre se filtran, lo que hace que la interfaz sea fea:
Inserte la descripción de la imagen aquí
Estructura de directorio:
Inserte la descripción de la imagen aquí

2. Resolución de problemas

Normalmente, los recursos no se interceptan. Cuando verifico los datos, básicamente reconfiguro el método:

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()
        ;
    }
}

El método convencional es:

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

Inserte la descripción de la imagen aquí

Debe recordarse aquí que después de configurar configure de esta manera, debe borrar el destino, de lo contrario no tendrá efecto

Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/nanhuaibeian/article/details/108554515
Recomendado
Clasificación