用代理类实现Cookie跨站共享

其实Cookie跨站点共享是很简单的,只要两个站点在同一级目录底下,则其中一个站点的COOKIE就能被另一个站点所引用.即它们的DOMAIN属性是一样的.比如我F盘上有两个站点,一个是用户系统,一个是新闻系统.我想实现就是在用户系统登录之后不用再重新登录新闻系统就能直接进新闻系统.即常说的单点登录.

用户系统中有个WEB服务,服务里有个验证用户登录的方法.使用该方法.当用户登录成功后,就创建一个COOKIE保存用户名和密码.然后新闻系统中就可以直接访问这个COOKIE.因为它们属于同一个域.

最主要的地方来了,虽然可以访问这个COOKIE,但是要我们要清楚一点,COOKIE是在客户端保存的,即可以从客户端修改COOKIE中的内容,所以服务器端始终得对客户端传递来的COOKIE持怀疑态度,不能相信这个COOKIE一定是服务器端原始传送过去的COOKIE.所以要对这个COOKIE进行验证.

可能上面说的很不清楚,我再举个例子.就像CSDN一样,你在登录的时候可以选择保存两周不用重复登录.你不用再输入用户名和密码登录了,但是服务器端并不是不验证你的用户名和密码了,它还是要验证用户名和密码的.而只不过改成读取你COOKIE文件里的用户名和密码了.如果你手动修改保存在你硬盘上的COOKIE中的用户名和密码的话,如果不正确的话,还是要失败的.

下面来讲下怎么对COOKIE进行验证.如果是在用户系统中对COOKIE中的用户名和密码进行验证那是很简单的.因为用户系统的数据库中存在一个用户表,可以直接读取COOKIE中的用户名和密码然后去数据库中进行匹配.

而现在的问题是要在新闻系统中验证COOKIE中的用户名和密码,而新闻系统中根本没有用户表.所有用户都是通过用户系统单点登录的.

这时候关键来了,还记得前面说的用户系统中的那个WEB服务吗?没错,就是它了,我们在新闻系统的站点目录上点击右键,选择添加WEB引用,然后选择这个WEB服务,系统就会自动给这个WEB服务生成代理类.然后我们就可以直接使用用户系统的这个WEB服务里的验证用户登录的方法了.

为了以后方便查询,特地写到BOLG上来,只是我的一些想法,表达的不是很清楚,希望多多见谅. 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值