zoukankan      html  css  js  c++  java
  • 单点登录系统---SSO

    1、------------------SSO介绍---------------------------------

     有什么卵用?搞什么飞机的?

    大家看看这个图,一个系统是没有问题。如果是分布式的系统,session放到哪里,放到一个web工程中,那么其他的工程咋取值嘞!

    1、有的人想到session复制,的确可行,但是如果web项目很多,它的效率非常低

    2、可以使用Session服务器,保存Session信息,使每个节点是无状态。需要模拟Session

      单点登录系统是使用redis模拟Session,实现Session的统一管理。

       Redis的安装网上很多,不多说。

     原理图:

    登录的处理流程:

    1、登录页面提交用户名密码。

    2、登录成功后生成tokenToken相当于原来的jsessionid,字符串,可以使用uuid

    3、把用户信息保存到redisKey就是tokenvalue就是TbUser对象转换成json

    4、使用String类型保存Session信息。可以使用“前缀:token”为key

    5、设置key的过期时间。模拟Session的过期时间。一般半个小时。

    6、token写入cookie中。

    7、Cookie需要跨域。例如www.taotao.comsso.taotao.comorder.taotao.com,可以使用工具类。

    8、Cookie的有效期。关闭浏览器失效。

    9、登录成功。

    问题:当页面加载完成后使用jstoken的数据,使用ajax请求查询用户信息。js是不可跨域发送请求的。使用jsonp可帮助实现,原理是js可跨域加载js文件。

     

  • 相关阅读:
    [转]为Ubuntu Server安装gnome图形桌面环境
    [转]ubuntu 安装五笔输入法
    [转]更改文件所有者
    QT 透明设置
    ubuntu 交叉编译arm linux 内核
    Opencv vs 2005编译
    [转]在skyeye中运行uboot
    object的引用 与 foreach的使用
    音频和视频
    HTML5 Canvas API
  • 原文地址:https://www.cnblogs.com/taotingkai/p/6651409.html
Copyright © 2011-2022 走看看