Spring Cloud微服务安全实战_3-8_API安全之登录

前面的文章 https://www.cnblogs.com/lihaoyang/p/11967121.html  说了用过滤器实现HttpBasic 认证 ,在请求头里携带用户名和密码,存在的问题是,你不可能让用户每个请求都输入用户名密码吧,即使前端把用户名密码存起来,这也是不安全的。

一、基于Token的身份认证的原理图

基于Cookie-Session的实现

这种方式有很多种实现方式,在javaweb开发中,最常见的实现方式是,基于 Cookie-Session 的实现,基于session的登录本质上也是基于token的登录:

                         

 基于Cookie-Session的登录实现中,如果登录成功,往Session中放入用户信息:


浏览器会将其存到cookie中:
 

 这样基于cookie-session的登录方式:

优点:就是弥补了HttpBasic的缺点,使用起来很方便

缺点:只适用于浏览器,浏览器接收到Response Header里的jessionId后去设置 Cookie,无法对App、第三方的服务器,因为他们不认Cookie

集群环境下,需要进行Session共享处理

自定义Token实现

 Session固定攻击防护:

 

 ++++++++++++++++++++++++++ 第三章总结+++++++++++++++++++++++++++++

猜你喜欢

转载自www.cnblogs.com/lihaoyang/p/12042038.html