国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

二級域名Cookie問題的解決方法

2024-07-10 13:21:22
字體:
來源:轉載
供稿:網友
在代碼中,我是通過Request.IsAuthenticated來判斷當前請求是否被驗證的,以前全部采用域名時很正常,看來是域名不同引起的。對于Form驗證,驗證是通過cookie進行的,在執行Request.IsAuthenticated時,會請求客戶端相應的Cookie, Cookie名是在web.config中指定的,比如博客園web.config中的設置:

復制代碼 代碼如下:


<authentication mode="Forms">
<forms loginUrl="login.aspx" protection="All" timeout="480" path="http://www.survivalescaperooms.com/" />
</authentication>


也就是說在執行Request.IsAuthenticated時,會執行類似這樣的代碼,HttpCookie cookie = Request.Cookies[".DottextCookie"];我們知道Cookie是與域名關聯的,HttpCookie就有個Domain屬性。博客園所遇到的問題就是二級域名不能訪問主域名的cookie,登錄時,博客園的程序通過FormsAuthentication.SetAuthCookie設置Cookie, 而登錄代碼是在域名下執行的,cookie的域名被默認設置為, 而我們在二級域名下就無法訪問這個cookie,如何解決這個問題呢?cookie的domain是否可以設置成對所有二級域名有效?在Google中苦苦尋覓,終于找到了一篇文章(Tips On Using SubDomain), 原來可以將cookie關聯的域設置為".domain.ext", 博客園的設置就是.cnblogs.com。 這樣,我在FormsAuthentication.SetAuthCookie之后,加上這樣的代碼就解決問題了:
C#

復制代碼 代碼如下:


HttpCookie cookie = Request.Cookies[".DottextCookie"];
if(cookie!=null)
{
cookie.Domain = ".cnblogs.com";
Response.Cookies.Add(cookie);
}

注:
1、如果你現在還會遇到訪問二級域名要重新登錄的情況,請刪除你計算機中相應的cookie文件,路徑在C:/Documents and Settings/用戶名/Cookies與C:/Documents and Settings/用戶名/Local Settings/Temporary Internet Files中,文件格式為:用戶名@, 然后重新登錄。
2、如果你發現其他與二級域名相關的問題,請及時與我聯系。
3、如果你在訪問博客園時,出現“Runtime Error”錯誤,那是因為剛剛更新了dll文件,你再過1、2分鐘重新打開IE訪問就行了。
4、現在已經全面啟用二級域名。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宝应县| 毕节市| 兴业县| 丰顺县| 垫江县| 台安县| 洛浦县| 青州市| 秦皇岛市| 汝南县| 鹤岗市| 霍邱县| 法库县| 睢宁县| 南投县| 视频| 洪雅县| 巴彦县| 黔南| 竹溪县| 镇远县| 兴化市| 阜新市| 黄山市| 临沭县| 义马市| 江油市| 托里县| 平山县| 广灵县| 天峨县| 内黄县| 阿拉尔市| 三穗县| 龙山县| 林口县| 池州市| 清丰县| 安徽省| 桐城市| 临西县|