返回首页

asp.net对cookie的操作及单点登陆的研究

时间:2009-06-10 10:50来源:未知 作者:laohan 点击:
什么是Cookie?Cookie就是服务器暂存放在计算机上的一些资料,让服务器用来辨认计算机。
  

因系统需求,需要实现两个系统的单点登陆,即两个域名:www.a.com,www.b.com,任意登陆一点则两点都实现登陆。

大致的方案有几个:
1.用微软的passport,
2.单独设置一个验证服务器,session结合数据库记录的方式来实现难,
3.用cookie简单实现跳转。

第三种方法比较简单,是两个小系统,所以采用第三种方案来实现。

刚开始想的比较简单,以为cookie可以跨域,测试了大半天,都没有成功,不能跨越a.com与b.com,只能实现半跨域,也就是x.a.com,y.a.com。

最终只能通过两个网站互相转向的方式来解决。这种解决方案网上比较多,不再累述。

下面是.net里操作cookie的基本方法:
写入:

以下为引用的内容:
HttpCookie cookie = new HttpCookie("id_admin_");
cookie.Value = model.id_admin_.ToString();
//cookie.Domain = ".sosuo8.com";
HttpContext.Current.Response.Cookies.Add(cookie);
cookie = new HttpCookie("name_admin_");
//可能是中文字符,必须经过编码
cookie.Value = HttpUtility.UrlEncode(model.name_admin_);
//cookie.Domain = ".sosuo8.com";
HttpContext.Current.Response.Cookies.Add(cookie);
cookie = new HttpCookie("guid");
cookie.Value = Guid.NewGuid().ToString();
//cookie.Domain = ".sosuo8.com";
HttpContext.Current.Response.Cookies.Add(cookie);


读取:
以下为引用的内容:
HttpContext.Current.Request.Cookies["guid"].Value

asp.net清空cookie
以下为引用的内容:
Response.Cookies["admin"].Expires = DateTime.Now.AddDays(-1);

asp.net清空cookie 清空所有

以下为引用的内容:
HttpCookie aCookie;
string cookieName;
int limit = Request.Cookies.Count;
for (int i = 0; i < limit; i++)
{
cookieName = Request.Cookies[i].Name;
aCookie = new HttpCookie(cookieName);
aCookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(aCookie);
}

顶一下
(1)
100%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容