在Spring MVC Controller中重定向时出现HDIV问题

时间:2015-08-19 11:14:08

标签: java spring spring-mvc spring-security hdiv

我继承了一些Java Spring MVC代码,它在表单提交中在Controller中执行内部重定向

例如:

表格已提交

/login_submit       (POST request)

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

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

但是,由于它是内部代码而未使用<c:redirect><c:url>标记,因此HDIV无法使用

提交此表单
  

INVALID_ACTION错误

请帮助理解和解决此问题,而不要过多地更改遗留代码

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

1 个答案:

答案 0 :(得分: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;

我希望这可以解决问题。