Восстановить исходный запрос POST после аутентификации CAS? - PullRequest
5 голосов
/ 04 октября 2011

У меня есть служба json-rpc, принимающая только http POST-req, и мне бы хотелось, чтобы она использовала аутентификацию CAS SSO.Текущий поток запросов выглядит примерно так:

POST host/service/  -> 302 redirect 
GET host/cas/login?service=https%3A%2F%2Fhost%2Fservice%2F -> 302 redirect
GET host/service/?ticket=ST-16-0rtrEQunbcbNdP16Eu07-cas -> 302 redirect
GET host/service/  -> 405 GET Method not supported

Полагаю, нам нужно преобразовать последний GET в POST с сохранением исходных параметров тела сообщения.Есть намеки?Добавление голого RequestCacheAwareFilter в цепочку Spring-Sec не помогло.

1 Ответ

0 голосов
/ 01 июля 2016

Похоже, что единственный способ решить проблему - это избежать перенаправления на пост. Таким образом, вам нужно сделать нормальный GET (когда вы обнаруживаете код 405 в POST) для некоторого известного URL-адреса, принимающего GET, в том же веб-приложении для перенаправления в / из CAS, тогда вы можете безопасно использовать POST.

...