我有仅接受http POST-req的json-rpc服务,并且希望它使用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,并保存原始的帖子正文参数。有什么提示吗?在spring-sec链中添加裸RequestCacheAwareFilter并没有帮助。
看来解决此问题的唯一方法是避免发布时重定向。因此,您需要对同一Web应用程序中的某个已知的GET接受服务URL进行常规GET(当在POST上检测到405代码时),才能重定向到CAS,或从中重定向到CAS,那么您就可以安全地使用POST。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句