我只要把这个meFilter放在AuthorizationFilter后面就可以了。
authorizationFilter的排序是3

MeFilter设置为4 就可以了。

拿到了username直接返回回来

启动服务测试

启动网关

认证

现在在服务器的session上不再存任何东西了
首先登陆


一直惦记get order info。accessToken失效了 就会调用refresh_token刷一下
下面就是refresh_token失效了。

跳到认证服务器重新,去认证了。然后回调,然后又到了主页上。

惦记确定后,可以继续获取到order 的信息

一直到认证服务器上session失效。刷新令牌也失效了。才会让用户去输入用户名和密码

退出

点击退出后,还是在当前的这个页面上。

因为现在登录是由于cookies决定的,refreshToken失效了才会真正出现登录的界面

angular操作cookie需要操作一个插件

安装 ngx-cookie

app.modules.ts内引入cookieService

在provider里面加上,加载providers里面才能在自己的代码里面依赖注入。

app.component.ts

通过构造函数注入 CookieService

删除cookie

测试



跳到了登陆页

总结

cookie和session方案的区别,以前是存在客户端的session里面的,现在是存在浏览器里面的
之前存session,在客户端的服务器上一段session失效。用户就需要到认证服务器上做一次认证,
现在基于cookie的这个方案。当浏览器的refresh_token失效才需要去认证服务器做认证。
不管是哪种方案,认证服务器都会有用户的session,只不过第一种方案要保证认证服务器要保证有效时间很长的一个session这样前端服务器的session失效后,它到认证服务器上才不需要反复的去登陆。而能一直做sso,哪个客户端失效后,认证服务器都会认,。

cookie的方案,不需要认证服务器存放时间很长的session,因为决定客户端能不能访问服务的不是session的有效期,而是refresh_token的有效期。只要你refresh_token有效,就能一直访问其他的服务。


session的优点

使用https保证cookie的传递。包括cookie本身的信息的安全。放在cookie里面的accesstoken一般不会给他很长的有效期。一般是1小时或者2小时。一旦被人窃取也很快就会失效掉。现在我们子啊浏览器里面还是存的一个无异议的串

存在客户端浏览器里面的东西 没法随时删掉。存在服务器的session我们可以随时让它失效掉。

结束

Spring cloud微服务安全实战-5-12实现基于token的SSO(2)的更多相关文章

  1. 《Spring Cloud微服务 入门 实战与进阶》

    很少在周末发文,还是由于昨晚刚收到实体书,还是耐不住性子马上发文了. 一年前,耗时半年多的时间,写出了我的第一本书<Spring Cloud微服务-全栈技术与案例解析>. 时至今日,一年的 ...

  2. Spring Cloud微服务安全实战_00_前言

    一.前言: 一直以来对服务安全都很感兴趣,所以就学习.这是学习immoc的 jojo老师的 <Spring Cloud微服务安全实战课程>的笔记,讲的很好. 课程简介:  二.最终形成的架 ...

  3. Spring cloud微服务安全实战_汇总

    Spring cloud微服务安全实战 https://coding.imooc.com/class/chapter/379.html#Anchor Spring Cloud微服务安全实战-1-1 课 ...

  4. Spring Cloud微服务安全实战_4-5_搭建OAuth2资源服务器

    上一篇搭建了一个OAuth2认证服务器,可以生成token,这篇来改造下之前的订单微服务,使其能够认这个token令牌. 本篇针对订单服务要做三件事: 1,要让他知道自己是资源服务器,他知道这件事后, ...

  5. Spring Cloud微服务安全实战_4-3_订单微服务&价格微服务

    实现一个场景: 订单微服务: POM: <?xml version="1.0" encoding="UTF-8"?> <project xml ...

  6. Spring cloud微服务安全实战 最新完整教程

    课程资料获取链接:点击这里 采用流行的微服务架构开发,应用程序访问安全将会面临更多更复杂的挑战,尤其是开发者最关心的三大问题:认证授权.可用性.可视化.本课程从简单的API安全入手,过渡到复杂的微服务 ...

  7. Spring Cloud微服务安全实战_4-4_OAuth2协议与微服务安全

    接上篇文章,在这个流程中,PostMan可以代表客户端应用,订单服务是资源服务器,唯一缺少的是 认证服务器 ,下面来搭建认证服务器 项目结构: Pom.xml : DependencyManager ...

  8. Spring cloud微服务安全实战-6-8sentinel限流实战

    阿里2018年开源的. 简单来说就是干三件事,最终的结果就是保证你的服务可用,不会崩掉.保证服务高可用. 流控 先从最简单的场景来入手. 1.引用一个依赖, 2,声明一个资源. 3.声明一个规则 注意 ...

  9. Spring cloud微服务安全实战-6-4权限控制改造

    授权,权限的控制 令牌里的scope包含fly就有权限访问.根据Oauth的scope来做权限控制, 要让@PreAuthorize生效,就要在启动类里面写一个注解. 里面有一个属性叫做,就是在方法的 ...

  10. Spring cloud微服务安全实战-6-2JWT认证之认证服务改造

    首先来解决认证的问题. 1.效率低,每次认证都要去认证服务器调一次服务. 2.传递用户身份,在请求头里面, 3.服务之间传递请求头比较麻烦. jwt令牌. spring提供了工具,帮你在微服务之间传递 ...

随机推荐

  1. 获取类范形的Class

    public class Test<T>{ } Type genType = getClass().getGenericSuperclass(); Type[] params = ((Pa ...

  2. SVM: 使用kernels(核函数)的整个SVM算法过程

    将所有的样本都选做landmarks 一种方法是将所有的training data都做为landmarks,这样就会有m个landmarks(m个trainnign data),这样features就 ...

  3. Linux 安装网络yum地址

    rpm -Uhv http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm   rpm -Uhv http:/ ...

  4. drf框架 - 序列化组件 | ModelSerializer (查,增,删,改)

    ModelSerializer 序列化准备: 配置 settings.py # 注册rest_framework框架 INSTALLED_APPS = [ ... 'rest_framework' ] ...

  5. Monitor 实现阻塞队列 + 生产消费者实例

    转载至 https://www.codeproject.com/Articles/28785/Thread-synchronization-Wait-and-Pulse-demystified /* ...

  6. NoSql数据库使用半年后在设计上面的一些心得 (转载)

    NoSql数据库这个概念听闻许久了,也陆续看到很多公司和产品都在使用,优缺点似乎都被分析的清清楚楚.但我心里一直存有一个疑惑,它的出现究竟是为了解决什么问题? 这个疑惑非常大,为此我看了很多分析文章, ...

  7. (尚010)Vue列表的搜素和排序

    1.test010.html <!DOCTYPE html><html lang="en"><head> <meta charset=&q ...

  8. 2019/12/5BJFirstDay--scrum后台+cpp项目前台环境跑起来!!!

    1.配置服务器: 2.进入cd C:\java\25.beijing\06.vuejs\cpp201911221829\cpp 3.运行的命令是:npm run dev 4.先启动 5.然后再启动cp ...

  9. PHP 鸟哥:我也曾经是“不适合”编程的人

    网名:雪候鸟,大家尊称鸟哥,惠新宸 @Laruence, 是国内最有影响力的 PHP 技术专家,PHP 开发组核心成员,PECL 开发者,Zend 公司外聘顾问.他曾供职于雅虎,百度,现在新浪微博任平 ...

  10. 41、Hive数据源复杂综合案例

    一.Hive数据源案例 1.概述 Spark SQL支持对Hive中存储的数据进行读写.操作Hive中的数据时,必须创建HiveContext,而不是SQLContext.HiveContext继承自 ...