我已经用这里提供的样品实施春季安全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参数连接起来的问题。
有人能指出正确的方向吗?
Prashant你有任何这样的演示? – 2013-03-09 10:53:51