Où est- « CookieContainer » aller dans Visual Studio 2008/2010 Web Services? (Persistance de session de cookie dans WCF)
-
25-10-2019 - |
Question
Il semble comme une question très simple, mais après quelques heures de recherche ici et sur le web, je commence à penser que je pose peut-être les mauvaises questions ou de faire quelque chose de mal.
Dans tous les cas, j'ai un service Web qui est utilisé pour la connexion en, une fois réussie, un cookie d'en-tête est retourné, et les appels suivants à d'autres services utilisant ce cookie sera considéré comme authentifié. Il ne peut pas être le plus sûr ou les meilleures pratiques, mais c'est le service que j'ai
En Java, je prends simplement le cookie de la réponse de la connexion réussie et passer à d'autres appels
par exemple. (Je sais, certains appels sont déconseillés, et l'axe 1 est désapprouvée tout à fait, mais utilisez votre imagination)
// 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);
En ce qui peut être vieux, incorrect ou non sécurisé (est?), Je voudrais faire toujours la même chose dans .NET
J'ai vu commentaires sur CookieContainer, mais mon service (généré automatiquement par VS express 2010) ne dispose pas d'un tel bien ...
Quelle est la façon équivalente pour obtenir un cookie d'un appel de service et de passer à l'autre (à imiter une certaine persistance de session en tant que navigateur ferait automatiquement)
(je veux toujours utiliser le simple "ajouter une référence de service" client de service .NET Web générée automatiquement si possible)
La solution
Cela semble être une bonne réponse
http: // jonas.follesoe.no/2008/09/12/wcf-authentication-services-silverlight-and-smelly-cookies/
Aussi cette question qui faisait référence à elle Comment utiliser cookie d'authentification de WCF service d'authentification dans une application ASP.Net MVC