HoneyMoose
  • 首页
  • Java
  • Jersey
  • Jira
  • Confluence
  • U.S.
    • USRealEstate
    • USVisaTrack
    • H1B
  • 项目和网站
    • CWIKI.US
    • OSSEZ 社区
    • WIKI.OSSEZ.COM
    • BUG.OSSEZ.COM
    • RSS.OSSEZ.COM
BLOG.OSSEZ.COM
A responsive blog theme focused om user reading experience
  1. Home
  2. Computer Science
  3. This article

Spring Security 介绍中的 servlet 和 reactive

2022年11月26日 97Browse 0Like 0Comments

最近在看看 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

Tags: None
Last updated:2022年11月26日

Kratos

stay absorbed stay excellent

Like
< Previous
Next >

Comments

Cancel reply

Newest Hotspots Random
Newest Hotspots Random
ChatGPT 的 API 调用可不太便宜 来看一个 ChatGPT 有关程序员的笑话 IntelliJ IDEA 的 Code Coverage 测试 Okhttp 如何构建一个 Get 的 URL SpringBoot 使用 @ConfigurationProperties 异常 Not registered via @EnableConfigurationProperties Jackson 的 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
说说这 48 小时核酸检测的时间FAA 真的应该换换系统了Java 8 使用 Stream 把 List 转换为 mapPowerShell 中运行 maven 参数无法识别1月14号的 UA857Jackson 的 DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES
TypeScript 是弱类型 Loon 2022-2023 雪季的第1天 其他 Confluence 6 的 cookies 和备注 Postman 测试 API 如何上传文件 MariaDB CentOS 安装的时候如何确定 Repo 地址 Confluence 6 如何备份和恢复
Categories
  • Algorithm(算法)
  • AMQP
  • Angular
  • CI
  • Compile And CI
  • Computer Science
  • Confluence
  • DataBase
  • Gradle
  • H1B
  • Hibernate
  • IDE
  • Java
  • Jersey
  • Jira
  • MariaDB
  • PrestaShop
  • Spring
  • Spring Batch
  • U.S.
  • USRealEstate
  • USVisaTrack
  • 我的小厨

COPYRIGHT © 2020 HoneyMoose. ALL RIGHTS RESERVED.

THEME CWIKIUS.CN MADE BY VTROIS