我在 Spring Security 配置中定义了一个自定义身份验证提供程序。这个类实现了AuthenticationProvider,我可以使用我页面上定义的表单成功登录。问题是我不仅想在登录页面上调用这个类,还想在注册页面上调用这个类。
注册页面使用不同的命令类并收集比登录表单更多的信息。现在,当用户注册时,我调用相应的控制器,将记录添加到数据库中,然后他们可以登录,但他们不会自动登录。由于他们刚刚在注册页面上给了我他们的用户名/密码,我可以将其传递给自定义 AuthenticationProvider 类以便他们也登录吗?
我尝试在注册控制器中创建一个 org.springframework.security.Authentication 类并在我的客户 AuthenticationProvider 类上调用 authenticate 方法,这不会出错,但用户没有登录。我必须调用 Spring Security 过滤器链中更高的方法来完成此操作?我应该将控制器重定向到 j_spring_security_check URL吗?如果是这样,我将如何传递用户名/密码?