Problème de connexion avec spring security
Je tente de sécuriser une application qui utiliser rest.
J'utilise spring boot, spring security, spring rest, spring-data-jpa dans une SPA (single page application).
Avec spring quand on tape l'adresse du serveur, la page par défaut est index.html, il y a t'il moyen de changer cela pour login.html?
Ma page de connexion est login.html
Dans la méthode configure de ma classe qui étend WebSecurityConfigurerAdapter
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.authorizeRequests()
.anyRequest().authenticated();
http
.formLogin()
.loginPage("/login.html")
.permitAll()
.and()
.logout()
.permitAll().logoutSuccessUrl("/login.html");
http.exceptionHandling().authenticationEntryPoint(authenticationEntryPoint);
http.formLogin().successHandler(authenticationSuccessHandler);
http.formLogin().failureHandler(authenticationFailureHandler);
} |
Toute mes page ont besoin d'être authentifié excepté ma page de login.
Quand je fais un post de mon écran de connexion
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
|
$('#loginform').submit(function (event) {
event.preventDefault();
var data = 'username=' + $('#username').val() + '&password=' + $('#password').val();
$.ajax({
data: data,
timeout: 1000,
type: 'POST',
url: '/login'
}).done(function (data, textStatus, jqXHR) {
window.location = "index.html";
}).fail(function (jqXHR, textStatus, errorThrown) {
alert("fail");
});
}); |
J'obtiens
http://localhost:8080/login 401 (Unauthorized)
une idée?