SSO系统

什么是SSO系统

  SSO,英文全称是Single Sign On,即单点登录。SSO是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。它是目前比较流行的企业业务整合的解决方案之一。

为什么要用SSO

  传统的登录实现方式:此方式在只有一个web工程时没有问题。

SSO系统_第1张图片

   集群环境:Session同步问题限制了节点数量。可以使用Session服务器,保存Session信息。需要模拟Session。

  SSO系统是使用Redis模拟Session,实现Session的统一管理。

SSO系统流程

SSO系统_第2张图片

登录的处理流程:

  • 登录页面提交用户名和密码。
  • 登录成功后生成token。token相当于原来的sessionid,可以使用uuid。
  • 把用户信息保存到redis。key就是token,value就是User对象转换成的json。
  • 使用String类型保存Session信息,可以使用“前缀:token”为key(前缀文件夹名)。
  • 设置key的过期时间。模拟Session的过期时间。一般为半个小时。
  • 把token写入Cookie中。
  • Cookie需要跨域。可以使用工具类。
  • Cookie的有效期。关闭浏览器失效。
  • 登录成功。

退出登录:根据token删除redis中的key。

Ajax跨域请求

  js不能跨域请求数据。什么是跨域?域名不同 or 域名相同端口不同。
  解决方案:使用Jsonp。
  Jsonp不是新技术,它借助js可以跨域加载js文件的特性绕过了跨域请求。

SSO系统_第3张图片


你可能感兴趣的:(Java)