zoukankan      html  css  js  c++  java
  • sso单点登录之跨域cookie共享 (跨域缓存共享)

    使用cookie的两个属性

    1. domain-域

      通过设置这个属性可以使多个web服务器共享cookie。domain属性的默认值是创建cookie的服务器的主机名。不能将一个cookie的域设置成服务器所在的域之外的域。

      举个例子:

      让位于a.taotao.com的服务器能够读取b.taotao.com设置的cookie值。如果b.taotao.com的页面创建的cookie把 它的path属性设置为”/”,把domain属性设置成”.taotao.com”,那么所有位于b.taotao.com的网页和所有位于a.taotao.com的网页,以及位于taotao.com域的其他服务器上的网页都可以访问(或者说是得到)这个cookie。

    1. path-路径

      表示创建该cookie的服务器的哪些路径下的文件有权限读取该 cookie,默认为/,就是创建该cookie的服务器的根目录。

    具体实现

    A机host设置如下: 
    127.0.0.1 sso.taotao.com
    172.16.30.123 portal.taotao.com
    B机host设置如下: 
    127.0.0.1 portal.taotao.com
    172.16.30.123 sso.taotao.com

    同时开启两台服务器,sso为单点登录系统,portal为门户系统,portal首页点击登录按钮,可连接到sso系统的登录模块,登录成功后,sso系统设置cookie属性如下:

    token="0821A9439FE4466395A2F4086538AEB4"
    Cookie cookie = new Cookie("TT_TOKEN", token);
    cookie.setPath("/");
    cookie.setDomain("taotao.com");
    response.addCookie(cookie);

    此时portal服务器所在机器的浏览器得到响应信息如下 :

    这里写图片描述

    浏览器会根据cookie的domain属性进行判断访问哪个域会携带这个cookie,因为com.taotao.portal属于taotao.com的子域,所以在这个浏览器上访问portal.taotao.com服务器下的所有路径都会携带这个cookie 。

  • 相关阅读:
    2020年全国安全生产月活动主题、挂图、招贴、标语、宣教用书等系列产品
    2020年安全生产月主题挂图指定宣教用品目录
    LNMP分离式部署步骤详解
    FTP文件传输服务
    DNS域名解析服务配置与测试
    DHCP服务搭建测试流程
    mysql数据库的操作
    mysql源码编译安装及其配置
    生产环境中ansible的安全处理
    http网页返回码详解
  • 原文地址:https://www.cnblogs.com/likewpp/p/12200767.html
Copyright © 2011-2022 走看看