404春季启动安全性登录页面的错误.我在Intellj Idea Community版本中工作



我正在尝试实现Spring Boot Security。

这是我的文件夹结构。

resources
  static
      home.html
      login.html
  templates
      index.html

这是安全配置文件

enter code here
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true)
public class SecurityConfig extends WebSecurityConfigurerAdapter{
@Autowired
public void configureAuth(AuthenticationManagerBuilder auth) throws 
Exception{
    auth
            .inMemoryAuthentication()
            .withUser("dan")
            .password("password")
            .roles("ADMIN")
            .and()
            .withUser("joe")
            .password("password")
            .roles("USER");
}
@Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .authorizeRequests()
                .anyRequest().authenticated()
                .and()
            .formLogin()
                .loginPage("/login")
                .permitAll()
                .and()
            .logout()
                .logoutSuccessUrl("/login?logout")
                .permitAll();
    http.csrf().disable();
 }
}

这是我的webconfig文件

public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
    super.addViewControllers(registry);
    registry.addViewController("/home").setViewName("home.html");
    registry.addViewController("/login").setViewName("login.html");
    registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
  }
 }

请帮忙。如何解决此错误

它在指定HTML文件而不仅仅是写文件名时工作正常。修改上述代码。

    @Override
    protected void configure(HttpSecurity http) throws Exception {
       http
            .authorizeRequests()
            .anyRequest().authenticated()
            .and()
            .formLogin()
               .loginPage("/login.html")
               .permitAll()
               .and()
            .logout()
               .logoutSuccessUrl("/login?logout")
               .permitAll();
                http.csrf().disable();
             }

还从setViewName

删除.html
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
   super.addViewControllers(registry);
    registry.addViewController("/home").setViewName("home");
    registry.addViewController("/login").setViewName("login");
    registry.setOrder(Ordered.HIGHEST_PRECEDENCE);
 }
 }

最新更新