将 URL 变量传递给安全 spring 表单

Passing URL variables to the security spring form

我有一个应用程序,它应该使用从 URL.

中获取的变量预填充登录表单
protected void configure(HttpSecurity http) throws Exception {
    http.authorizeRequests().antMatchers("/resources/**").permitAll()
        .antMatchers(HttpMethod.GET, "/fornecedor/lista").hasRole("ADMIN")
        .antMatchers(HttpMethod.GET, "/fornecedor/cadastrarFornecedor").hasRole("ADMIN")
        .antMatchers(HttpMethod.POST, "/fornecedor/cadastrarFornecedor").hasRole("ADMIN")
        .and()
        .formLogin()
            .loginPage("/login").permitAll()
        .and()
        .rememberMe()
        .and()
        .logout()
        .logoutSuccessUrl("/login?logout")
        .permitAll()
        .and()
        .rememberMe()
            .userDetailsService(userDetailsService);
}

我正在获取 localhost:8080/login,当然表单是空的所以,我需要能够从他的标识符中获取用户 URL: localhost:8080/ login?user=nome&password=12345 并将此用户传递到我的自定义登录表单:

但目前我无法获取-如何在代码中获取此路径变量,以及在哪里可以获取它。

为登录页面编写控制器,读取 URL 参数并将该数据提供给视图。

@Controller
public class LoginController {

    private static final String REQUEST_URL = "/login";
    private static final String VIEW = "login";

    @RequestMapping(value = REQUEST_URL, method = RequestMethod.GET)
    public String setupLogin(@RequestParam("user") String user, @RequestParam("password") String password, HttpServletRequest request) {

        // adapt 'j_username' and 'j_password' depending on the names used in your login page
        request.setAttribute("j_username", user);
        request.setAttribute("j_password", password);

        return VIEW;
    }

}