将cookie传递给wcf服务

时间:2011-04-04 14:10:57

标签: wcf forms-authentication wcf-rest webhttpbinding formsauthenticationticket

我有一堆wcf webhttp(休息)服务,期望一个auth cookie。问题是 - 如何将formauth票证传递给wcf服务?流动身份验证适用于通过浏览器获取请求就好(应该如此)但我不确定如何在使用httpclient或webchannelfactory的调用期间设置cookie。此时,身份验证已完成,并且cookie可用。我不确定在通过HttpClient调用服务时插入cookie的位置。

HttpClient client = new HttpClient();
HttpContent content = 
    HttpContentExtensions.CreateDataContract<EmployeeData>(MyEmployee);
resp = client.Post("http://localhost/someservice", content);

我还尝试按照以下网址使用webchannelfactory - http://zamd.net/2009/03/05/flowing-forms-authentication-cookie-to-wcf/

但是,即使Thread.CurrentPrincipal.Identity是有效的FormsIdentity,var identity = Thread.CurrentPrincipal.Identity as ClientFormsIdentity;也会返回null。任何建议都会有很大帮助。

0 个答案:

没有答案