我正在尝试将自定义标头从一个应用程序传递到另一个应用程序而没有成功,这些应用程序托管在不同的域上。
这样做是否可行?
到目前为止,我有这个。
//App1:
Response.AddHeader("CustomH","Value")
Response.Redirect("differentedomain.com")
//App2:
var customh = Request.Headers["CustomH"]
但是在第二个域上,请求标头为空。
我尝试做的另一件事是向第二个应用程序发出WebRequest并通过自定义标头throug,它传递了Ok,所以,然后我尝试在第二个应用程序上创建Response.Redirect但是在我设置之前会话变量
HttpContext.Current.Session["token"] = token;
Response.Redirect(Path.GetFileName(Path), false);
但是当我收到最后一页时,我的会话已经改变,我的会话变量已经丢失。
有没有办法在Response.Redirect ????
上保持相同的会话问候。
更新
好的,我到目前为止
域名A
Dim requestUrl As HttpWebRequest = CType(WebRequest.Create(path + "Token.aspx"), HttpWebRequest)
requestUrl.CookieContainer = New CookieContainer()
requestUrl.Headers.Add("tokenHeader", token)
Dim responseUrl As HttpWebResponse = CType(requestUrl.GetResponse(), HttpWebResponse)
For Each cookie As System.Net.Cookie In responseUrl.Cookies
requestUrl.CookieContainer.Add(New Net.Cookie(cookie.Name, cookie.Value, cookie.Domain))
Next
Response.Redirect(url)
正如您在我的第一个应用程序中看到的那样我在标题上设置我的令牌,然后使用HttpWebRequest进行调用
Doamin B
FormsAuthentication.SetAuthCookie(email, false);
在使用令牌进行一些验证后,我设置了Auth Cookie,然后我回到域A重定向到我的最终URL,但是当我这样做时,cookie在域B上是emtpy