“ CookieContainer”在Visual Studio 2008/2010 Web服务中何处? (WCF中的会话cookie持久性)
-
25-10-2019 - |
题
这似乎是一个非常简单的问题,但是在这里和网络上进行了几个小时的研究之后,我开始认为我可能会问错误的问题或做错事。
无论如何,我都有一个用于登录的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服务客户端)
不隶属于 StackOverflow