2012-07-16 57 views
2

我已经用这里提供的样品实施春季安全OpenID的整合:OpenId+Spring Integration重定向到原来的(未经认证的页面)

整合工作正常。当我请求受保护的资源时,我被重定向到登录页面,并且在身份验证后,我自动重定向到受保护的资源。

但是,如果我处于不受保护的页面(类似于此处所述的情况:http://forum.springsource.org/showthread.php?95317-Redirect-to-original-page-after-login-success-failure),并且我单击登录按钮..我将在登录后重定向到主页。我想重定向到我点击登录按钮的页面。

春季论坛主题建议覆盖buildReturnToUrl方法。我已经调试过它。它总是生成表单的returnToURL:

http://localhost:8080/listocal/j_spring_openid_security_check 

有一些运算和Rob绞车的现场通讯后面,我不知道怎么运实际上可以覆盖它。

另外,我试图用代码创建另一个过滤器是这样的:

public void doFilter(....) { 
... 
DefaultSavedRequest savedRequest = new DefaultSavedRequest((HttpServletRequest) request, new PortResolverImpl()); 

((HttpServletRequest)request).getSession().setAttribute("SPRING_SECURITY_SAVED_REQUEST", savedRequest); 

} 

如果此过滤器的OpenIDAuthenticationFilter那么savedrequest由RequestCacheAwareFilter(可能是因为这个问题:https://jira.springsource.org/browse/SEC-1241)移除之前运行

如果此筛选器在OpenIDAuthenticationFilter之后运行,那么我会遇到在每个请求之后将post参数连接起来的问题。

有人能指出正确的方向吗?

回答

相关问题