zoukankan      html  css  js  c++  java
  • 同顶级域名下 通过Cookie 跨域实现单点登陆

    Cookie对于web开发者而言真是一个小甜饼,因为它保留了用户的登录状态。但是当登陆站点在不同域名时就会出现问题了。

    在Cookie规范上说,一个cookie只能用于一个域名,不能够发给其它的域名。因此,如果在浏览器中对一个域名设置了一个cookie,这个cookie对于其它的域名将无效。如果你想让你的用户从你的站点中的其中一个进行登录,同时也可以在其它域名上进行登录。

    一、修改hosts文件,搭建环境

    首先,在我的电脑找到hosts文件,路径如下C:WindowsSystem32driversetc。

    然后,用记事本打开hosts文件,添加你想测试的域名2个。

    如a.test.com 和b.test.com。

    这样,我们本地浏览器访问a.test.com和b.test.com,都会将访问地址指向本地。

    二、COOKIE操作类实现

    CookieUtil实现了对cookie基本操作:

    首先:添加cookie。

    然后:删除cookie。

    三、在登陆控制层,当登陆成功,创建cookie

    注意:此处要在两个web项目中都要实现,一样的代码即可。

    四、在登陆跳转时,首先检测session存在否,然后检测cookie存在否

    首先:检测session存在,如存在说明本系统登录过,直接跳转到系统内部。

    然后:检测cookie存在,如存在cookie,取得cookie中的用户信息,在后台实现登陆操作即可。

    String cookie_login = CookieUtil.getValue(request,Constant.COOKIE_LOGIN);//获取cookie中的登录名

    String cookie_pwd = CookieUtil.getValue(request,Constant.COOKIE_PWD);//获取cookie中的密码

    最后,在tomcat中将两个域名和两个项目对应绑定即可。

    注意:cookie要实现加密。否则被人窃取就不好了。

  • 相关阅读:
    Python(2.7.6) 特殊方法
    Python(2.7.6) 列表推导式
    代码神注释鉴赏,喜欢拿去用
    为什么说重启能解决90%的问题
    为什么说重启能解决90%的问题
    编程语言简史
    编程语言简史
    Shell脚本中循环select命令用法笔记
    程序员职业规划
    程序员职业规划
  • 原文地址:https://www.cnblogs.com/buxiu/p/10651049.html
Copyright © 2011-2022 走看看