这似乎是一个非常简单的问题,但是在这里和网络上进行了几个小时的研究之后,我开始认为我可能会问错误的问题或做错事。

无论如何,我都有一个用于登录的Web服务,一旦成功,将返回标头cookie,随后使用此cookie拨打其他服务的呼叫将被视为身份验证。它可能不是最安全或最佳实践,但这是我拥有的服务

在Java中,我只是从成功登录的响应中拿走cookie,然后传递给其他电话

例如(我知道,有些电话是弃用的,轴1完全被弃用,但要使用您的想象力)

// get the cookie
Call authCall = service1Locator.getCall();
org.apache.axis.MessageContext msgContext = authCall.getMessageContext();
String cookie = msgContext.getStrProp(HTTPConstants.HEADER_COOKIE);

// Standard binding
Service2Locator service2Locator=new Service2Locator();
Service2SoapBindingStub service2=(Service2SoapBindingStub)service2Locator.getSomeService();
service2Locator.setMaintainSession(true);

// And now - SET THE COOKIE
service2._setProperty(HTTPConstants.HEADER_COOKIE,cookie);

(原始示例来自 这里)

就它可能是旧的,不正确的还是不安全的(是吗?),我仍然想在.net中做同样的事情

我看见 注释 在CookieContainer上,但是我的服务(由VS Express 2010生成的自动)没有这样的属性...

从一个服务呼叫中获取cookie并传递给另一个cookie的等效方法是什么(仿真将某些会话持久性作为浏览器会自动做到)

(我仍然想使用简单的“添加服务参考”自动生成的Web .NET服务客户端)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top