首页 > 其他分享 >Spring Security 介绍中的 servlet 和 reactive

Spring Security 介绍中的 servlet 和 reactive

时间:2022-09-29 19:56:47浏览次数:73  
标签:异步 Spring reactive 线程 Security servlet

最近在看看 Spring Security 中的内容。看到了下面一段话,还挺拗口的。

Spring Security 提供了一个 验证(authentication), 授权(authorization),和保护常见攻击 的框架。

Spring security 是一个强大的,并且可以高度定制的身份验证和访问控制框架,能够同时支持 imperative 和 reactive应用, Spring security 已经成为保护 Spring 应用实事上的标准。

有关完整的特性列表,请参考本参考指南中有关特性(Features) 部分的内容。

如果你已经开始准备对你的应用程序进行安全限制,请参考针对servle和 reactive 部分的内容。

解释

这里,提到了 2 个概念 servlet 和 reactive。Spring WebFlux 是 Spring Framework 5.0 中引入的新的响应式web框架。 与Spring MVC不同,它不需要Servlet API,是完全异步且非阻塞的,并且通过 Reactor 项目实现了 Reactive Streams 规范。

可以理解,servlet 和 reactive 是 2 个不同的处理方式,通常 MVC 模式是使用 servlet 的。reactive 是响应式,也可以说是反应式,主要特点就是异步处理,是基于 Spring WebFlux 框架的。

download

我们常用的 Spring 编程大部分人都应该使用的是 MVC 模式吧。

简单点来说就是 Spring 或者应用服务器会针对你的每一次访问创建一个线程,这个线程是阻塞的。

 

2022-09-29_07-28-31

 

考虑一个应用场景就是上传一个 N 大文件的的情况,这个是不是因为线程的阻塞导致了系统资源的浪费,那我们想,能不能针对高 IO 的情况,我们使用异步线程或者其他方式。

Spring 提供了一个异步的方式,但是针对高 IO 的情况可能更多使用的是 WebFlux。

Spring Security 为这 2 种相应访问请求的方式来配置安全性。

这就是在 Spring Security 文档中说的 reactive 。

其实早在去年,就有过这么一次面试: 北美亚特兰大一金融服务公司面试总结 ,但因为这响应式 Web 框架实在是应用场景不多,通常不是 Spring 框架实际使用的重点。

 

https://www.ossez.com/t/spring-security-servlet-reactive/14116

标签:异步,Spring,reactive,线程,Security,servlet
From: https://www.cnblogs.com/huyuchengus/p/16742833.html

相关文章

  • 支付宝沙箱服务 (结合springboot实现,这里对接的是easy版本,工具用的是IDEA,WebStrom)
    一:打开支付宝开发平台,登录,然后点击控制台https://open.alipay.com/   二:滚动到底部,选着沙箱服务   三:获取到对接要用的appId和公钥私钥    四......
  • Oauth2.0 用Spring-security-oauth2 来实现
    前言:要准备再次研究下统一认证的功能了,我还是觉得实现统一认证用Oauth2最好了,所以,现在再次收集资料和记笔记。正文:一、概念理解    OAuth2,是个授权协议,......
  • 安全框架 SpringSecurity 和 Shiro 对比
    突然再次很想理一下权限的事,但是实在不知道实际情况选哪个框架好,现在整理下网上的资料,做一下对比。1、Spring-security对spring结合较好,如果项目用的springmvc,使用起来很......
  • Apache Shiro和Spring Security的详细对比
    参考资料:1)ApacheShiroApacheShiro:​​http://shiro.apache.org/​​在Web项目中应用ApacheShiro:​​http://www.ibm.com/developerworks/cn/java/j-lo-shiro/​​Apac......
  • Spring源码学习:day2
    前言:我还是太懒了,连截图都懒得粘贴,故直接用书上说的话的截图吧。代码的编写过程都是应该有一个入口的,所有的代码最终都是为了那个入口更加方便更加简单而产生的。......
  • Spring 源码学习:day1
    前言:最近也不知道该忙些什么样的事情。便随便看看源码算了。正文:(1)在网上下载Spring的源码:可以采用git方式下载 https://github.com/spring-projects/s......
  • SpringCloud学习 系列五、创建生产者和消费者验证微服务中心 Eureka的作用
    系列导航SpringCloud学习系列一、前言-为什么要学习微服务SpringCloud学习系列二、简介SpringCloud学习系列三、创建一个没有使用springCloud的服务提供者和消费......
  • SpringCloud学习 系列四、微服务中心 Eureka介绍及创建一个Eureka中心服务
    不得不先介绍一个概念1、CAP 定理(1)概念CAP定理指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partitiontolerance(分区容错性),三者不可兼得。......
  • SpringBoot运维实用篇
    ​下面就从运维实用篇开始讲,在运维实用篇中,我给学习者的定位是玩转配置,为开发实用篇中做各种技术的整合做好准备工作。与开发实用篇相比,运维实用篇的内容显得略微单薄,......
  • SpringBoot基础篇
    JC-1.快速上手SpringBoot​ 学习任意一项技术,首先要知道这个技术的作用是什么,不然学完以后,你都不知道什么时候使用这个技术,也就是技术对应的应用场景。SpringBoot技术由Pi......