0

我继承了一些 Java Spring MVC 代码,这些代码在表单提交时在控制器中执行内部重定向

前任:

表格提交给

/login_submit       (POST request)

成功后,它会在控制器内部重定向:-

.....
return "redirect:"+"/user/home"

但是,由于它在代码内部并且没有使用<c:redirect>or<c:url>标记,因此 HDIV 无法通过此表单提交

INVALID_ACTION 错误

请帮助理解和解决这个问题,最好不要过多地更改遗留代码

非常感谢您的及时回复!!!

4

1 回答 1

0

有两种方法可以实现,

1)跳过验证:

@Configuration
@EnableHdivWebSecurity
public class HdivSecurityConfig extends HdivWebSecurityConfigurerAdapter {
    @Override
    public void addExclusions(ExclusionRegistry registry) {
        registry.addUrlExclusions("/user/home");
    }
}

2) 可以使用 HDIV 的处理器生成 URL,如下所示,

 LinkUrlProcessor urlProcessor = HDIVUtil.getLinkUrlProcessor(servletContext);
 String processUrl = urlProcessor.processUrl(request, "/user/home");
 return "redirect:"+processUrl;

我希望这能解决问题。

于 2015-08-19T11:35:31.743 回答