11.5安全的响应式Web API

安全的响应式Web API

Spring Security出现之前(在此之前,当它被称为Acegi安全Web安全模型都是围绕Servlet过滤器构建。毕竟,这是有道理的。如果需要拦截绑定基于ServletWeb框架的请求,以确保请求者具有适当的权限,那么使用Servlet过滤器是一个明智地选择。但是Spring WebFlux将一个折衷的方法引入其中。

当用Spring WebFlux编写Web应用程序时,甚至不能保证有Servlet。事实上,一个被动的Web应用程序更有可能构建在Netty或其他非Servlet服务器上。这是否意味着不能用基于Servlet过滤器的Spring Security来保护Spring WebFlux应用程序?

在保护Spring WebFlux应用程序时,确实不应该使用Servlet过滤器。但是Spring Security仍然可以胜任这个任务。从5.0.0版本开始,Spring Security可用于保护基于ServletSpring MVC和被动式Spring WebFlux应用程序。它使用SpringWebFilter来完成这项工作, Spring-specific模拟servlet过滤器不需要依赖servlet API

然而,更值得注意的是,被动式SpringSecurity的配置模型与第4章中看到的没有太大区别。实际上,SpringSecurity不同于SpringWebFlux,后者与SpringMVC有单独的依赖,无论您打算使用它来保护SpringMVCWeb应用程序还是用SpringWebFlux编写的应用程序,SpringSecurity都与SpringBoot安全启动程序相同。提醒一下,这里是安全启动程序的样子:

也就是说,SpringSecurity的被动式配置模型和非被动式配置模型之间有一些小的区别。值得快速了解一下这两种配置模型之间的比较。

上一页
下一页