Spring 引导 URL 静态映射 HTML

Spring Boot URL mapping for static HTML

我的 Spring 引导应用程序基本上由两个主要部分组成 "modules":

基本的应用程序结构是:

我不清楚的是,对于静态 ("public web") HTML 页面,我是否:

首先,您需要像这样通过 mvc 解析器映射您的视图:

@Configuration
public class WebMVCconfig extends WebMvcConfigurerAdapter {

@Override
public void addViewControllers(ViewControllerRegistry registry) {
    registry.addViewController("/login").setViewName("login");
    registry.addViewController("/contact").setViewName("contact");

   }
} 

映射您的视图后,我们需要在 antMatchers 中添加类似 /login 的视图,因此我假设您的配置方法如下所示:

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

    .csrf().disable()   

    .authorizeRequests()
    .antMatchers("/contact","/about", ...).permitAll() //add your static pages here ( public pages ) 
    .anyRequest()
        .authenticated()        
            .and()
            .formLogin()
            .loginPage("/login")
            .permitAll()
            .successHandler(successHandler) // i don't think you'll be needing this it's to redirect the user if it's admin or a simple user 
            .and()  // this is for the logout   
            .logout()
            .invalidateHttpSession(true)
            .logoutUrl("/logout")
            .permitAll();   
}

antMatchers 添加您的视图地图后 spring 安全性不会处理这些页面的身份验证,这解决了您的问题