程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> WebService與共享COOKIE

WebService與共享COOKIE

編輯:.NET實例教程

WebService與共享COOKIE

左直拳

 

現在有兩個網站:www.abc.comcheck.abc.com。要求用戶打開郵件時,訪問check.abc.com,保存COOKIE。以後用戶訪問www.abc.com,則檢查COOKIE。如果發現在check.abc.com上有COOKIE,則自動登陸。

這大概跟單點登陸有點類似。我剛開始的設想是:在check.abc.com上提供一個WebService,供www.abc.com調用來檢查COOKIE

但是,在本機上直接用浏覽器訪問WebService檢查,可以准確讀取check.abc.com 保存的COOKIE;而運行同樣放在本機上的www.abc.com,通過www.abc.com上的頁面調用WebService,卻怎麼也讀不出COOKIE。調試了很久,查閱了許多資料都沒有結果。

後來有篇文章介紹說:COOKIE可以自動由子級域名分享,無須做什麼特別設置。對網站www.abc.comcheck.abc.com來說,它們都是二級域名,一級域名是abc.com。所以,保存COOKIE的時候,將CookIEDomain設置成“.abc.com”,無論www.abc.com還是check.abc.com,應該都可以順利讀取。代碼如下

    public void WriteToCookIE(int userId)

    {

        HttpCookie cookie = new HttpCookIE(“UserInfo”);

        cookIE.Values.Add(“UserId”, userId.ToString());

        cookIE.Expires = DateTime.Now.AddHours(1);

        cookIE.Secure = false;

        cookIE.Domain = ".abc.com";

        HttpContext.Current.Response.Cookies.Add(cookIE);

}

可是照樣不行!

老子一生氣,將WebService去掉了,在www.abc.com裡直接讀取,一讀就讀到了。

去他娘的WebService

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved