Spring 安全框架 Spring Security 5.1 GA 现已正式发布!
POM
<dependencies> <!-- ... other dependency elements ... --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-web</artifactId> <version>5.1.0.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-config</artifactId> <version>5.1.0.RELEASE</version> </dependency> </dependencies>
该版本关闭了 50+ 的 issue,此外,Spring Security 5.1 也提供了大量的新特性,值得关注的有:
Servlet
- 通过 UserDetailsPasswordService 对密码存储进行自动升级
- OAuth 2.0 Client
- 可自定义的授权和 Token 请求(Authorize and Token requests)
- 支持
authorization_code
grant - 支持
client_credentials
grant
- OAuth 2.0 资源服务器 – 支持 JWT-encoded bearer tokens
- 添加 OAuth2 WebClient 集成
- HTTP Firewall 可防止篡改 HTTP 动词和跨站点跟踪
- ExceptionTranslationFilter 支持通过 RequestMatcher 选择 AccessDeniedHandler
- CSRF 支持排除某些请求
- 添加对 特性策略(Feature Policy) 的支持
- 添加 @Transient authentication tokens
- 默认登录页面的现代化外观
WebFlux
- 通过 ReactiveUserDetailsPasswordService 对密码存储进行自动升级
- 添加对 OAuth2 的支持
- 添加对 OAuth2 Client 的支持
- 添加对 OAuth2 Resource Server 的支持
- 添加对 OAuth2 WebClient 的集成
@WithUserDetails
现在可以和 ReactiveUserDetailsService 搭配使用- 添加对 CORS 的支持
- 添加对以下 HTTP headers 的支持
- 重定向至 HTTPS
- @AuthenticationPrincipal 的改进
- 支持对 beans 的解析
- 支持解析
errorOnInvalidType
Integrations
- Jackson 支持和 BadCredentialsException 一起搭配使用
@WithMockUser
支持在测试中设置 SecurityContext 时进行自定义。例如,@WithMockUser(setupBefore = TestExecutionEvent.TEST_EXECUTION)
将在 JUnit 的 @Before 之后和测试执行之前对用户进行设置- 可以使用自定义环境变量配置 LDAP 身份验证
- X.509 身份验证 支持将主体(principal)派生为策略
详情请查看 https://docs.spring.io/spring-security/site/docs/5.1.0.RELEASE/reference/htmlsingle/#new
转自 https://www.oschina.net/news/100366/spring-security-5-1-goes-ga