系统间账号认证系统同步方案

基础原理:(基于Web)

浏览器在个请求传递cookie到服务器,服务器对cookie增删改查的操作, 写入JSessionId实现与服务器Session的绑定,保持会话

单机情况下:一个域名,对应一个cookie,对应一个JsessionId,与一个服务器Session会话

基于原理解决方案需要解决两个问题:

1. Cookie在不同域名(系统)间的传递问题

2. 服务器Session在不同服务器

问题1的解决方案:

cookie中的数据有三个属性:domain、path、name。cookie新增和删除,没有修改选项,name相同,domain以及path不同,当做不同的cookie来处理

又衍生出了两种情况:

在同一个域名以及子域名下面的处理方式:使用domain绑定顶级域名

在不同域名下面的系统的处理方式:通过sso的模式,传递ticket,验证ticket获取用户信息,生成自己的sessionId到cookie中

问题2的解决方案:

部署在同一台服务器:使用堆外内存,磁盘缓存来实现:ehcache

部署在不同服务器:使用redis、memcache缓存来实现

实现方式:

框架:spring-session、shiro-SessionManager模块、使用redis客户端

自研:修改实现JavaEE关于Session的增删改查,实现分布式回话

上述问题比较麻烦的就是不同域名下系统的解决方案:单点登录

底层方案:

JavaEE接入Cas的客户端和服务端实现手动实现单点登录

使用框架:

spring-cas

shiro整合cas

其他方式:

零侵入整合业务系统:https://www.cnblogs.com/baibaomen/p/sso.html

Tomcat容器其实实现了对应的Cookie的配置,但是过于依赖容器,在代码中实现,而非在运维层面上实现是更好的选择。

参考资料:

单点登录时序图:https://www.cnblogs.com/baibaomen/p/sso-sequence-chart.html

github单点登录资料:https://github.com/baibaomen/BaibaomenSsoLesson

域名之间的cookie共享情况:https://segmentfault.com/a/1190000006932934?utm_source=tag-newest

JavaEE基础教程书籍:《JavaWeb整合开发王者归来》熟悉JavaEE基本对象以及基础流程以及原理,容器只是基础规范的实现

转载于:https://www.cnblogs.com/fly-piglet/p/11059300.html

系统间账号认证系统同步方案相关推荐

  1. 浦江县教育计算机网上网认证系统,寿光市教育城域网认证系统使用文档.doc

    寿光市教育城域网认证系统使用文档 寿光市教育城域网认证系统使用文档 1.系统概况: 本系统采用客户端登录方式,可做到计算机启动自动登录,无需用户干预. 对于使用一个无线路由器带多台计算机的用户,必须使 ...

  2. 桌面系统集成WEB认证系统方案

    最近做的一个项目,有WEB版.WPF版.手机版.领导想集成集团的一个现成的认证系统,姑且称这个认证系统名为 W4认证系统. W4认证系统有如下特点: 1.现成的 2.是个单点登录系统 3.不支持oAu ...

  3. Dubbo系统间通信

    系统间通信 远程通信,实现方案 Webservice Restful Dubbo Webservice 基于soap协议,通信效率不高 主要特点,跨语言.跨平台 项目中,不推荐使用 可用于,不同公司之 ...

  4. Django默认用户认证系统和用户模型类

    Django默认用户认证系统和用户模型类 1.Django默认用户认证系统 Django自带用户认证系统 Django认证系统位置 Django认证系统同时处理认证和授权 Django认证系统包含的内 ...

  5. 微服务设计指导-使用云原生微服务解决传统海量跑批时引起的系统间“级联雪崩”以及效率

    问题描述 这也是一起真实的生产事故,如下图所示 这种"雪崩"是属于企业内部系统雪崩. 我们都知道如果是在外部http (包括一切restful.soap请求.http类型调用)调用 ...

  6. 抖音账号矩阵系统源码/矩阵霸屏系统搭建部署/源码

    Tik Tok seo账号矩阵霸屏系统源代码账号矩阵系统建设部署,短视频seo账号矩阵框架分析,开发语言为后台框架语言PHP python后台语言:编辑 Tik Tok SEO排名优化的逻辑是通过技术 ...

  7. unix服务器备份文件命令,linux/unix系统间文件备份脚本

    这是我之前写的一个shell脚本,用于linux/unix系统间的文件自动备份. 脚本的主要功能有:用于不同服务器间当天的文件的同步或拷贝:需要expect命令支持,RHEL和AIX测试正常,需要ex ...

  8. 航天信息认证服务器地址,航天信息网上认证系统

    航天信息网上认证系统是一款航天信息网上认证软件安装下载,即增值税发票抵扣联企业信息采集系统,可以通过扫描识别或人工录入方式采集抵扣联电子信息,减轻了纳税人往返税务机关认证抵扣凭证的负担. 航天信息网上 ...

  9. 网上认证系统认证服务器,航天信息网上认证系统单机版

    航天信息网上认证系统单机版是一款用户自己在网上认证的软件,税务机关人员能够帮助用户解密,用户只需要上传数据 扫描文件 即可,不用出门就能认证,非常方便. 航天信息网上认证系统支持 网上认证系统是由企业 ...

最新文章

  1. ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版
  2. 【Python问题解决】关于解决python3.x无法使用PIL库的解决方法
  3. clickhouse一键登陆
  4. 前端学习(517):两列布局的第三种解决方案的优缺点
  5. 经典逻辑编程题(本文用python实现)
  6. raspberry pi_Raspberry Pi在单板计算机,新的符合FCC规则的路由器芯片等众多清单上排名第一
  7. winccweb发布画面不显示_wincc web navigator 发布用户名或密码错误问题
  8. 如何防止在ListBox中添加很多数据出现不停的刷新?
  9. 计算机网络工程师试题及答案,计算机软考网络工程师自测试题及答案汇总
  10. Sql Server2005创建数据库
  11. cs1.6服务器怎么注册,CS服务器登录与管理工具
  12. navicat12.0.26 激活
  13. 详解神奇的卡尔曼滤波(Kalman filter)算法
  14. 2018计算机cpu调研,2018年1月电脑CPU天梯图
  15. 交换机putty怎么调试_【技术】如何登陆交换机进行命令配置?常用的交换机组网模拟器有哪些?...
  16. 内存数据库中的索引技术
  17. C#中使用Invalidate()与MouseMove方法刷新控件时,控件闪烁问题解决方法
  18. 事务的概念及事务的四个特性
  19. 学会Squid之传统代理和透明代理一篇就够了!
  20. linux 隐藏字符 h,shell 里面的奇葩字符实现

热门文章

  1. 【WebRTC---入门篇】(二十)WebRTC核心之SDP详解
  2. 完全二叉树基本操作(不含遍历)
  3. basemap安装_【我是解决安装问题系列_1】Mac python basemap安装
  4. python 共轭转置_python矩阵运算,转置,逆运算,共轭矩阵实例
  5. C语言怎么合并两个有序链表
  6. c 中=和==的区别有哪些?
  7. linux 查看日志_干货 | 名企高频考点之谈谈Linux日志查看方式都有哪些
  8. python打开方式错误_浅谈python 调用open()打开文件时路径出错的原因
  9. html5 video 播放状态,10分钟了解HTML5的Video标签属性、方法和事件
  10. python package和目录_PyCharm中Directory与Python package的区别