FormsAuthentication.SetAuthCookie未在WebResponse Cookie Collection中设置cookie

时间:2012-05-30 13:41:13

标签: c# formsauthentication

我有一个网站使用表单身份验证,并在用户验证后调用FormsAuthentication.SetAuthCookie,即FormsAuthentication.SetAuthCookie(userName, false)

我目前正在创建HttpWebRequests并使用用户名和密码调用网站,虽然凭据通过验证 - 但响应在其cookie集合中没有任何cokkies。

HTTP请求/响应代码如下:

HttpWebRequest request = (HttpWebRequest) CreatePostRequest(baseAddress, postParameters);
HttpWebResponse response = (HttpWebResponse)request.GetResponse();

代码获得响应就好了,在调试时我可以看到正在验证的凭据正常,并且调用了FormsAuthentication.SetAuthCookie(user,false)。

当我检查响应cookie集合时,计数为0.任何人都可以帮助我理解为什么会这样。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您很可能会在response.Headers["Set-Cookie"]中找到Cookie。您可以将这些Cookie存储在CookieContainer类的实例中,只需CookieContainer.SetCookies(baseAddress, response.Headers["Set-Cookie"],然后在后续请求中使用此CookieContainer实例。希望这会有所帮助。