目前大多数web应用的用户认证机制都是基于session的。用户认证成功后,在服务端生成用户相关的数据保存在session中(当前会话),而发给客户端的sesssion_id 存放到 cookie 中,这样用客户端请求时带上 session_id 就可以验证服务器端是否存在 session 数据,以此完成用户的合法校验。当用户登出或过期时把服务端session销毁,客户端的session_id也就无效了。

而在分布式的环境下,基于session的认证会出现一个问题。当我们第一次访问网站的时候,负载均衡将本地的请求分配到Web服务器A,那么session创建在Web服务器A,第二次访问的时候如果我们不做处理就不能保证还是会落到Web服务器A了。

​ 这个时候,通常的做法有下面几种:

Session复制:多台应用服务器之间同步session,使session保持一致,对外透明。

Session粘滞:当用户访问集群中某台服务器后,强制指定后续所有请求均落到此机器上。

Session数据集中存储:将Session存入分布式缓存集群中,所有服务器应用实例统一从分布式缓存集群中存取Session。

​ 总体来讲,基于session认证的认证方式,可以更好的在服务端对会话进行控制,且安全性较高。但是,session机制方式基于cookie,在移动应用上无法有效使用,并且无法跨域,保持住会话的做法非常麻烦。

基于session认证相关推荐

  1. 你还不了解基于session的授权认证吗?

    前言 在漫长的开发过程中,权限认证是一个永恒不变的话题,随着技术的发展,从以前的基于sessionId的方式,变为如今的token方式.session常用于单体应用,后来由于微服务的兴起,分布式应用占 ...

  2. 阐述Spring security实现用户认证授权的原理----基于session实现认证的方式

    一.认证流程 基于Session认证方式的流程是,用户认证成功后,在服务端生成用户相关的数据保存在session(当前会话),而发 给客户端 sesssion_id 存放到 cookie 中,这样用客 ...

  3. 分布式认证方案-基于session的认证方式

    在分布式的环境下,基于session的认证会出现一个问题,每个应用服务都需要在session中存储用户身份信息,通过负载均衡将本地的请求分配到另一个应用服务需要将session信息带过去,否则会重新认 ...

  4. 登陆验证发展史(cookie认证->session认证->token认证->JWT,单系统登陆->多系统单点登陆)

    登陆验证发展史有两条主线.在服务部署方式层面,早期的Web服务系统简单一般都是单系统,登陆的话就登陆这一个系统就好了,随着系统复杂性越来越高,一个大的系统往往由很多子系统组成,用户使用这个大系统时不可 ...

  5. js获取session_学习后端鉴权系列: 基于Cookie, Session认证

    说起鉴权大家应该都很熟悉, 不过作为前端开发来讲, 鉴权的流程大头都在后端小哥那边, 但是作为一个有志气的开发者肯定要好好学习整个鉴权流程以及方案, 不然怎么跟后端合作. 常见的鉴权方案 基于Cook ...

  6. (一)基于Session的认证方式

    创建工程 本案例工程使用maven进行构建,使用SpringMVC.Servlet3.0实现. 创建maven工程 security-springmvc,工程结构如下: 引入如下依赖如下,注意: 1. ...

  7. 基于Session共享的单点登录或通行证系统方案

    本文主要描述如何基于Session共享来实现单点登录. 假设有两个应用www.example.com, passport.example.com.本文以SpringSession和Redis来实现相关 ...

  8. 程序员过关斩将--互联网人必备知识cookie和session认证

    菜菜,上次你说的cookie和session的文章,我觉得不太具体 那你想怎么样具体呢? 我自己从网上查了一下,很多关于cookie和session认证的,能不能给我讲讲 用户认证呀,可以呀 这样我下 ...

  9. 第八节:常见安全隐患和传统的基于Session和Token的安全校验

    一. 常见的安全隐患  1. SQL注入 常见的案例: String query = "SELECT * FROM T_User WHERE userID='" + Request ...

最新文章

  1. centos设置mysql为系统服务_CentOS系统如何设置Apache和MYSQL服务开机自动运行
  2. 牛客练习赛39 B:选点(二叉树遍历+LIS)
  3. 大数据分析中国冬季重度雾霾的成因(二)
  4. 生产者/消费者模式(阻塞队列)
  5. java基础10(IO流)-字节流
  6. 把URL参数解析成一个Json对象
  7. Elasticsearch学习系列-ElasticSearch 核心概念
  8. CoolUIViewAnimations
  9. 加息造成的定期存款转存临界点!
  10. 2018蓝桥杯A组:分数(3种方法 循环累称 快速幂运算 移位运算)
  11. cpc卡内计费信息异常包括_抖音信息流广告收费标准,抖音广告效果分析
  12. 我的世界javamod怎么装_我的世界MOD安装方法图文教程_我的世界MOD怎么安装_牛游戏网...
  13. 比 Java 更强大的 kotlin.Deprecated
  14. 倪文迪陪你学蓝桥杯2021寒假每日一题:1.25日(2019省赛A组第3题)
  15. 女星长发如雪 上演现代版白发魔女传(组图)
  16. 电脑端手机模拟器软件
  17. 如何在iphone/ipad/itouch上设置新浪VIP邮箱
  18. 破解手机辐射危害健康的流言
  19. 当下这个时代,一个没学历智力情商也低的人,他是如何破局的?深度思考后的回答!...
  20. hdoj-1593-find a way to escape【数学题】

热门文章

  1. Moss/Sharepoint 备份或还原时出错的处理(持续更新)
  2. buildroot output子目录
  3. Visual Studio Code(VS code)介绍
  4. zookeeper学习一
  5. java常用的框架介绍
  6. 关于无线的Idle Timeout和Session Timeout
  7. Open images from USB camera on linux using V4L2 with OpenCV
  8. vue-awesome-swiper 的使用
  9. web前端入门必知的10个技术
  10. Autocomplete