Grails控制器中的异步调用

Grails控制器中的异步调用,grails,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") 基本上,这段代码将

有没有办法实现这一点

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")
基本上,这段代码将注销几个内部域的会话,然后最后注销当前站点。这可能吗


谢谢。

不,您不能有多个重定向。但是Spring Security支持一个“logoutSuccessUrl”参数,您可以使用它来链接请求。转到url1,它将注销并重定向到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

伟大的我测试了这个,它成功了。这是我真正需要的。谢谢!