asp.net System.Net.Cookie --> System.Web.HttpCookie?

xxslljrj  于 2023-05-19  发布在  .NET
关注(0)|答案(2)|浏览(140)

有没有人知道是否可以将System.Net.Cookie转换为System.Web.HttpCookie

具体有什么区别?

我想做的是模拟一个伪自动登录功能在我的网站到另一个网站。
例如,我的代码对返回身份验证cookie的远程服务器执行HttpRequest。然后,我想将该cookie发送给客户端,这样他们就可以作为经过身份验证的用户向远程服务器发出常规请求,而不必再次通过我的应用程序。
到目前为止,我已经能够很好地获得身份验证cookie,但我无法找到将其发送到客户端的方法。我希望我可以将它添加到当前的HttpResponse中并以这种方式发送给客户端,
但它使用的是HttpCookies,而不是.Net.Cookies,这是HttpWebResponse对象从我的“幕后”帖子中返回的。这可能吗

gv8xihay

gv8xihay1#

您在下一个请求中发送回响应cookie的方法可以很好地保留登录状态,但不幸的是,在.NET中,这两种非常相似但不同的类型之间没有任何内置转换。您可以执行以下操作:

foreach(Cookie cookie in response.Cookies)
{
    request.Cookies.Add(new System.Web.HttpCookie(cookie.Name, cookie.Value) { Domain = cookie.Domain, Expires = cookie.Expires });
});
tf7tbtn2

tf7tbtn22#

我相当肯定这是不可能的,因为您发送给客户端的cookie只会由您的网站“拥有”,因此与您收到的cookie不同。您可能希望根据自己的需要考虑实现单点登录或联合身份验证。

相关问题