Я создаю форму входа, используя Spring Security
@Configuration
@EnableWebSecurity
public class FormAppSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
UserBuilder users = User.withDefaultPasswordEncoder();
InMemoryUserDetailsManager manager = new InMemoryUserDetailsManager();
manager.createUser(users.username("dill").password("pickle").roles("user").build());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().anyRequest().authenticated().and().formLogin().loginPage("/showMyLoginPage")
.loginProcessingUrl("/authenticateTheUser").permitAll();
}
}
Я создал пользователя в памяти, и мне нужно для аутентификации пользователя, это моя форма jsp с jstl
<form:form action="${pageContext.request.contextPath}/authenticateTheUser" method="POST">
<table>
<tbody>
<tr>
<td><label>Username</label></td>
<td><input type="text" name="username"/></td>
</tr>
<tr>
<td><label>Password</label></td>
<td><input type="Password" name=password"></td>
</tr>
<tr>
<td><input type="submit" name="Login"/></td>
</tr>
</tbody>
</table>
</form:form>
когда я нажимаю на кнопку отправить, мой логин для этого URL-адреса, и он просто обновляет страницу с той же формой логина
http://localhost:8080/showMyLoginPage?error
Я правильно ввожу учетные данные, но он не перенаправляет намоя домашняя страница здесь - это метод моего контроллера
@GetMapping("showMyLoginPage")
public String showMyLoginPage() {
return "login-form";
}
Я думаю, что это ${pageContext.request.contextPath}
Я использую пружинную загрузку, и она может не найти это, какой правильный синтаксис для этого?