Grails控制器中的异步调用

时间:2010-05-06 07:40:54

标签: grails

有没有办法实现这个?

redirect(url: "${myDomain1RootUrl}/j_spring_security_logout") // make this asynchronous call
redirect(url: "${myDomain2RootUrl}/j_spring_security_logout") // make this asynchronous call
redirect(uri: "/j_spring_security_logout")

基本上,此代码将注销几个内部域的会话,然后最终退出当前站点。这可能吗?

感谢。

1 个答案:

答案 0 :(得分:1)

不,您不能拥有多个重定向。但Spring Security支持'logoutSuccessUrl'参数,您可以使用该参数来链接请求。转到注销的url1并重定向到url2,url2会注销并重定向回此应用并注销:

String url1 = "${myDomain1RootUrl}/j_spring_security_logout"
String url2 = "${myDomain2RootUrl}/j_spring_security_logout"
String url3 = createLink(uri: "/j_spring_security_logout", absolute: true)

String twoPlusThree = url2 + '?logoutSuccessUrl=' + URLEncoder.encode(url3)
String all = url1 + '?logoutSuccessUrl=' + URLEncoder.encode(twoPlusThree)
redirect url: all