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