Ich versuche Spring Boot 1.4 und Thymeleaf 2. Ich möchte meine Anwendung sichern. Dies ist meine Sicherheitskonfiguration:Spring Boot 1.4 und Thymeleaf 2 Sicherheit
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/resources/static/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
}
Das ist mein MVC-Controller:
@Configuration
public class MvcConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addViewController("/index").setViewName("index");
registry.addViewController("/").setViewName("index");
registry.addViewController("/login").setViewName("login");
}
}
aber wenn ich versuche, localhost:8080
zuzugreifen es zeigt, Index-Seite ohne CSS, js! Wenn ich mich manuell über localhost:8080/login.html
anmelde funktioniert alles OK. Ich gehorche der Konvention von Spring - Thymeleaf Integration und statische Ressourcen sind unter /resources/static
und Vorlagen unter /resource/templates
.
Was ist der fehlende Punkt für mich?
EDIT:
Es arbeitet mit dieser Art und Weise:
http
.authorizeRequests()
.antMatchers("/css/**").permitAll()
.antMatchers("/js/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
Allerdings sollte ich hinzufügen alle Ordner unter statischen Ressourcen mit dieser Art und Weise? Es scheint, ich vermisse etwas.
Es ist seltsam, aber es funktioniert ohne weitere Konfiguration, wenn Sie Ihre css und js Dateien in 'src/main/resources/static/resources' setzen – baao