Я пытаюсь настроить веб-приложение Spring MVC для использования пользовательской формы входа для аутентификации с использованием аннотаций. Моя проблема заключается в том, что пользовательская форма входа никогда не открывается, но вместо этого я всегда получаю стандартную регистрационную форму весны.Неверная пользовательская форма входа в Spring безопасности
я определил следующий SecurityConfiguration
класс:
package com.test.spring.config;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
@EnableWebSecurity
public class SecurityConfiguration {
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/login").permitAll()
.antMatchers("/resources/**").permitAll()
.antMatchers("/admin/**").hasRole("ADMIN")
.and()
.formLogin()
.loginPage("/login")
.defaultSuccessUrl("/home")
.usernameParameter("user_login")
.passwordParameter("user_password")
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/login")
.permitAll()
.and()
.csrf()
.and()
.sessionManagement()
.invalidSessionUrl("/login?time=1")
.maximumSessions(10);
}
}
И SecurityWebApplicationInitializer
класс:
package com.test.spring.config;
import org.springframework.security.web.context.AbstractSecurityWebApplicationInitializer;
public class SecurityWebApplicationInitializer extends AbstractSecurityWebApplicationInitializer {
}
Также я создал пользовательскую форму для входа в login.html
поэтому я предположил, что конфигурация будет загрузить мой login.html
файл вместо стандартная форма входа в систему безопасности весной.
Что бы я ни делал, я всегда получаю стандартную форму входа:
Я также настроил мой контроллер:
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String login() {
return "login";
}
кажется, что моя конфигурация безопасности не была загружена все.
Где проблема?
просто чтобы проверить, что у вас есть есть, когда вы получаете доступ /spring/login.html –
Следуйте за этим, может быть, вы missied конфигурации контроллера с URL http://docs.spring.io/spring-security/site/docs/3.2.x/guides/form.html –
/spring/login.html перенаправляется обратно в/spring/login со стандартной формой входа – user1563721