0

我对这篇文章有一个类似的问题,我通过添加上下文路径获得状态 404 而不是索引页面。我怀疑我做错了什么,比如把它@EnableWebSecurity放在 WebSecurityConfig 文件或控制器中。

这是spring-boot配置

@Override
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().antMatchers(
            "/registration**",
            "/js/**",
            "/css/**",
            "/img/**").permitAll()
            .anyRequest().authenticated()
            .and()
            .formLogin()
            .loginPage("/login")
            .failureUrl("/bad-404")
            .defaultSuccessUrl("/")
            .usernameParameter("email") //needed, if custom login page
            .passwordParameter("password") //needed, if custom login page                
            .permitAll()
            .and()
            .logout()
            .invalidateHttpSession(true)
            .clearAuthentication(true)
            .logoutRequestMatcher(new AntPathRequestMatcher("/logout"))
            .logoutSuccessUrl("/login?logout")
            .permitAll();

}

这是运行应用程序的主要类

public static void main(String[] args) {
    System.setProperty("server.servlet.context-path", "/index");
    SpringApplication.run(SmartcardApplication.class, args);
}

这是控制器类

@Controller
public class MainController {

    @GetMapping("/login")
    public String login() {
        return "login";
    }

    @GetMapping("/")
    public String home(){
        return "index";
    }
}
4

0 回答 0