Tenho uma regra no meu sistema que precisa enviar um "id" como parametro para a controller (/login) e da controller para o form. http://localhost:8080/login?id=112021
Alem do username e password, o login.html tem um parametro do tipo hidden chamado id:
<form th:action="@{/login}" method="post" class="card-body">
<input type="hidden" name="id" value="${id}">
Minha controller:
@Controller
@RequestMapping(value="/login")
public class LoginController {
@GetMapping
public String login(@RequestParam(defaultValue = "12021") String id) {
System.out.println("ID == " + id);
return "login";
}
}
quando digito o parametro: http://localhost:8080/login?id=112021 não consigo pegar o 112021 apenas o default 12021 definido no @RequestParam(defaultValue
minha classe **WebSecurityConfig** extends WebSecurityConfigurerAdapter
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/produtos/listar").permitAll()
.anyRequest().authenticated()
.and()
.formLogin(form -> form
.loginPage("/login")
.defaultSuccessUrl("/cliente/index", true)
.permitAll()
)
.logout(logout -> {
logout.logoutUrl("/logout")
.logoutSuccessUrl("/home");
})
.csrf().disable()
.exceptionHandling().accessDeniedPage("/403")
.and()
.sessionManagement()
.sessionFixation().migrateSession()
.and()
.addFilterBefore(authenticationFilter(), UsernamePasswordAuthenticationFilter.class) ;
}
Como proceder?