Асинхронный вызов в контроллере Grails - PullRequest
0 голосов
/ 06 мая 2010

Есть ли способ реализовать это?

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 Ответ

1 голос
/ 06 мая 2010

Нет, вы не можете иметь несколько перенаправлений. Но 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...