如:現在有一個站: www.abc.com 子站:123.abc.com 希望從主網域名稱登入,或者從子域登入可以同步,也就是說:只要從任何一個站下登入都可以不在在另一個站登入
網上介紹了很多方法,我都試過了,都不行,主要原因是:不能清除COOKIES,最後我沒有辦法了,就放棄不搞這個了,晚上看電影:死神來了,看著 看著就想到:死神能安排人怎麼死,那我當時想COOKIES能共用,就一定有辦法清除COOKIES
現在的效果就是:可以在www.abc.com 子站:123.abc.com 任意那個站登入,都可以登入,並且COOKIES一站通用,不管在任何一個站退出,所有主站與子站都會被退出
方法:
在登入時加上:
Response.Cookies(“mycookies”)(“username”)=rs(“username”)
Response.Cookies(“mycookies”).path = “/”
Response.Cookies(“mycookies”).Domain=”abc.com” ‘abc.com 前面加不加”.”都一樣的
Response.Cookies(“mycookies”).Secure=False
Response.Cookies(“mycookies”).Expires=dateadd(“h”,24,now()) ‘設不設看你自己,可以不用加這句,也可以
退出時:也要加上:
response.Cookies(“mycookies”).Expires = NOW() -1
response.Cookies(“mycookies”)(“username”)=”"
Response.Cookies(“mycookies”).path = “/”
Response.Cookies(“mycookies”).Domain=”abc.com”
Response.Cookies(“mycookies”).Secure=False
注意問題: 在網站登入時,一定要注意,只要那個地方有COOKIES修改或更新,就一定要加上:
Response.Cookies(“mycookies”).path = “/”
Response.Cookies(“mycookies”).Domain=”abc.com”
Response.Cookies(“mycookies”).Secure=False
另一個注意的問題就是,在退出時:如果在子網域名稱退出,一定要給每一個站裡面加一個logout.asp退出檔案
關於跨網域名稱的,我沒有試過,不知道行不行