CAS认证后恢复原始POST请求?

时间:2011-10-04 08:32:03

标签: 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 redirect
GET host/service/  -> 405 GET Method not supported

我想我们需要将最后一个GET转换为POST,并保存原始的post body params。 任何提示?在spring-sec链中添加裸RequestCacheAwareFilter没有帮助。

1 个答案:

答案 0 :(得分:0)

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