透過QueryString方式在不同網域中共用Session的方式
以下是透過QueryString方式在不同網域中共用Session的方式
A. sso1.aspx 位於http://www.sso1.com/sso1.aspx
Partial Class sso1
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Session("username") = "Spark"
Session("email") = "spark@sso.com"
Session("userid") = 2
Session("sex") = "M"
Session("DestPage") = "ssoSucc.aspx"
Response.Write("<form name=t id=t action=http://www.sso2.com/sso2.aspx method=post >")
For i As Integer = 0 To Session.Contents.Count - 1
Response.Write("<input type=hidden name=" & Session.Keys(i).ToString)
Response.Write(" value=" & Session.Contents(Session.Keys(i).ToString) & " >")
Next
Response.Write("</FORM>")
Session.Clear()
Response.Write("<script>t.submit();</script>")
End Sub
End Class
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Session("username") = "Spark"
Session("email") = "spark@sso.com"
Session("userid") = 2
Session("sex") = "M"
Session("DestPage") = "ssoSucc.aspx"
Response.Write("<form name=t id=t action=http://www.sso2.com/sso2.aspx method=post >")
For i As Integer = 0 To Session.Contents.Count - 1
Response.Write("<input type=hidden name=" & Session.Keys(i).ToString)
Response.Write(" value=" & Session.Contents(Session.Keys(i).ToString) & " >")
Next
Response.Write("</FORM>")
Session.Clear()
Response.Write("<script>t.submit();</script>")
End Sub
End Class
B. 透過submit方式傳送session至 http://www.sso2.com/sso2.aspx
Partial Class sso2
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For i As Integer = 0 To Request.Form.Count - 1
Session(Request.Form.GetKey(i)) = Request.Form(i).ToString()
Next
Response.Write("<br>" & Session("username").ToString)
Response.Write("<br>" & Session("email").ToString)
Response.Write("<br>" & Session("userid").ToString)
Response.Write("<br>" & Session("sex").ToString)
Response.Write("<br>" & Session("DestPage").ToString)
Response.Write("<form name=t id=t action=sso3.aspx method=post >")
For i As Integer = 0 To Session.Contents.Count - 1
Response.Write("<input type=hidden name=" & Session.Keys(i).ToString)
Response.Write(" value=" & Session.Contents(Session.Keys(i).ToString) & " >")
Next
Response.Write("</FORM>")
Session.Clear()
Response.Write("<script>t.submit();</script>")
End Sub
End Class
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For i As Integer = 0 To Request.Form.Count - 1
Session(Request.Form.GetKey(i)) = Request.Form(i).ToString()
Next
Response.Write("<br>" & Session("username").ToString)
Response.Write("<br>" & Session("email").ToString)
Response.Write("<br>" & Session("userid").ToString)
Response.Write("<br>" & Session("sex").ToString)
Response.Write("<br>" & Session("DestPage").ToString)
Response.Write("<form name=t id=t action=sso3.aspx method=post >")
For i As Integer = 0 To Session.Contents.Count - 1
Response.Write("<input type=hidden name=" & Session.Keys(i).ToString)
Response.Write(" value=" & Session.Contents(Session.Keys(i).ToString) & " >")
Next
Response.Write("</FORM>")
Session.Clear()
Response.Write("<script>t.submit();</script>")
End Sub
End Class
只要透過一連串的網頁傳接動作, 即可在不同網域的程式共用session
延伸閱讀: Session 共用與跨網域
-----------------------
Share is power
-----------------------
Share is Power