sso

单点登录核心点

利用302进行跨域名间的通信

单点登录过程

  • 用户访问 a.com

  • A服务器判断session无效

  • 利用302重定向 带上sso cookie去 获取ticket

  • ticket不存在,跳转到登录页面进行登录并生成ticket,并利用302重定向回传给A服务器

  • A服务通过ticket从sso服务器读取会话数据,保存会话信息,并写入cookie到 a.com

  • 用户访问 a.com

  • A服务器判断session有效

  • 用户访问 b.com

  • B服务器判断session无效

  • 利用302重定向 带上sso cookie去 获取ticket

  • ticket存在,直接回传给B服务器 (此处少了登录环节)

  • B服务器通过ticket从sso服务器读取会话数据,保存会话信息,并写入cookie到 b.com

  • 用户访问 b.com

  • B服务器判断session有效

  • cookie中保存有sessionID
  • 服务器端通过sessionID 取 session,修改sessionID会导致服务器session找不到