调用OData服务时发送授权cookie

2024-04-15

我有 2 个网络应用程序。
第一个 Web 应用程序包含 ASP.NET 网页并使用成员资格提供程序进行身份验证。
第二个 Web 应用程序严格来说是一个需要身份验证的 OData WEB API 站点。

两个站点在 Web 配置中具有相同的“machineKeyvalidationKey/decryptionKey”,并且都使用具有相同“表单名称 .TESTAUTH”的“Forms”身份验证

当我调用 OData 服务并检查线程和 httpcontext 的 IDentity 时,它们的名称都是空的并且已通过身份验证。

那么如何让 OData 识别 .TESTAUTH cookie?




EDIT:
嗯,这就是我所做的。这似乎不对,但如果有人知道更好的方法,请告诉我。

dbContext.BuildingRequest += AddCookie;
private void AddCookie(object sender, Microsoft.OData.Client.BuildingRequestEventArgs e)
{       
    var authCookie = HttpContext.Current.Request.Cookies(".TESTAUTH");

    e.Headers.Add("Cookie", ".TESTAUTH=" + authCookie.Value);
}

这是我为解决问题所做的事情。

dbContext.BuildingRequest += AddCookie;
private void AddCookie(object sender, Microsoft.OData.Client.BuildingRequestEventArgs e)
{       
    var authCookie = HttpContext.Current.Request.Cookies(".TESTAUTH");

    e.Headers.Add("Cookie", ".TESTAUTH=" + authCookie.Value);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

调用OData服务时发送授权cookie 的相关文章

随机推荐