2010-05-06 5 views
0

Existe-t-il un moyen de l'implémenter?Appel asynchrone dans un contrôleur 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") 

Fondamentalement, ce code va déconnecter la session pour plusieurs domaines internes et puis finalement, il se connecte sur le site actuel. Est-ce possible?

Merci.

Répondre

1

Non, vous ne pouvez pas avoir plusieurs redirections. Mais Spring Security prend en charge un paramètre 'logoutSuccessUrl' que vous pouvez utiliser pour chaîner les requêtes. Allez sur url1 qui se déconnecte et redirige vers url2, qui se déconnecte et redirige vers cette application et se déconnecte:

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 
+0

great! J'ai testé cela et cela a fonctionné. C'est ce dont j'ai vraiment besoin. Merci beaucoup! – firnnauriel

Questions connexes