我正在使用一个可以读取但不能发送 cookie 的客户端。这是一个问题,因为客户端要发布到经过身份验证的方法。我想一个简单的解决方法是在标头中发送 cookie 信息,在 BeginRequest 中截取它并将伪造的 cookie 附加到请求中。由于开始请求发生在身份验证之前,我认为它会起作用。它没。
这是我目前的方法。
protected void Application_BeginRequest()
{
// I have added the auth cookie to the header
var a = Request.Headers["Authorization"];
if (a == null) return;
// get cookie value
var s = a.Replace(".AspNet.ApplicationCookie=", "");
// I am injecting the cookie into the request
var c = new HttpCookie(".AspNet.ApplicationCookie", s);
Request.Cookies.Add(c);
}
我设置了断点来观察“真实”cookie,它与我的“制造”cookie 相匹配。我是在做错事还是在尝试不可能的事情?此外,如果有人知道我如何使用 cookie 信息授权用户,我会非常满意。
这是一个使用现在标准 Owins 库的 MVC5 应用程序。