Java 在CAS身份验证后恢复原始POST请求?

Java 在CAS身份验证后恢复原始POST请求?,java,redirect,spring-security,single-sign-on,cas,Java,Redirect,Spring Security,Single Sign On,Cas,我有json rpc服务只接受http POST req,并希望它使用CAS SSO auth。 当前请求流大致如下所示: 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 redi

我有json rpc服务只接受http POST req,并希望它使用CAS SSO auth。 当前请求流大致如下所示:

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,并保存原始的POST body参数。
有什么提示吗?在spring-sec链中添加bare-RequestCacheAwareFilter没有帮助。

看来解决问题的唯一方法是避免在post时重定向。因此,您需要将普通GET(当您在POST上检测到405代码时)重定向到同一webapp中的某个已知GET接受服务url以重定向到CAS或从CAS重定向,然后您就可以安全地使用POST