写了半天,尝试一下www.jumbotcms.cn和www.jumbotcms.net,OK了 互相Cookies不干扰,而且还支持子域共享。
aspx页面是如下写的(省去了如何读配置文件,假设已经赋值给你变量strDomain和strPath)
1:写入Cookies
string _adminid =...数据库读出的管理员id
string _adminname =...数据库读出的管理员名称
int iExpires = 7;有效期1个星期
//设置Cookies
System.Collections.Specialized.NameValueCollection myCol = new System.Collections.Specialized.NameValueCollection();
myCol.Add("id", _adminid);
myCol.Add("name", _adminname);
Jumbot.Common.Cookie.SetObj("jcms_admin", iExpires, myCol, strDomain, strPath);
2:读取Cookies
string AdminId = string.Empty;
string AdminName = string.Empty;
if (Jumbot.Common.Cookie.GetValue("jcms_admin") != null)
{
AdminId = Jumbot.Common.Cookie.GetValue("jcms_admin", "id");//读出id
AdminName = Jumbot.Common.Cookie.GetValue("jcms_admin", "name");//读出name
}
这样可以根据AdminId来判断有没有登录
备注:读Cookies的时候不需要制定作用域和路径(其实也没办法指定,要不然还能如此简单就跨域读Cookies吗,哈哈??)
3:删除Cookies
if (Jumbot.Common.Cookie.GetValue("jcms_admin") != null)
{
Jumbot.Common.Cookie.Del("jcms_admin", strDomain, strPath);
}
最后再说明一下,为了更安全,可以将Cookies加密解密处理(推荐DES算法,因为它是带密钥的不对称算法),这里不是我要阐述的重点。
[责任编辑:jumbot]