具有SessionID的IFrame请求和安全会话令牌的响应

时间:2013-05-18 00:20:14

标签: c# asp.net web-services session iframe

我以前从未处理过这个细节的会话处理。我被卡住了。

请求 POST:

网址:blablabla.com

内容:?UserName = blabla& Password = DingDong& CustNumber = 11233& SessionId = qeqt5o0lsa0zbdhehnqy31om

响应

因此,您可以看到我正在请求用户名,密码和sessionid。响应将是一些安全令牌。我也能够将SST传入请求字符串。我也试过了,也有同样的错误。

我传入的会话只是一个随机生成的ShortGuid。我已将其添加到Session.Add()并尝试了SessionIDManager方法。我不知道我做错了什么,是否有一些标准方法与IFrame和会话传递和处理?是否有基于某些会话标准的“有效”sessionId?

非常感谢任何想法或建议。

1 个答案:

答案 0 :(得分:0)

通过更改实现方法解决。不知道为什么这样做,而另一种方法不起作用。

ShortGuid sessionID = ShortGuid.NewGuid ();
Session.Add (sessionID.ToString (), "asdasdasdasd");
string encodedURL = Convert.ToBase64String (Encoding.Unicode.GetBytes (HttpContext.Current.Request.Url.PathAndQuery));  

WebClient client = new WebClient ();
NameValueCollection data = new NameValueCollection ();

data.Add ("UserName", "asdasd");
data.Add ("Password", "asdasd");
data.Add ("CustNumber", "asdasdasd");
data.Add ("Amount", "21231313");
data.Add ("SessionId", sessionID.ToString ());
data.Add ("UserDeclinedURL", encodedURL);
data.Add ("UserApprovedURL", encodedURL);
data.Add ("ServerURL", encodedURL);


string response = System.Text.Encoding.UTF8.GetString (client.UploadValues ("URL", data));