Spring Security学习:04.Spring Security 4.1 的新特性

案例代码

因为 Spring Security 是一个开源项目,我们强烈建议你check out github上的代码。你将可以看到所有的案例应用以及如何使用最新的 Spring Security API来构建应用。在进行调试的时候,有源码也是非常有帮助的。异常栈的追踪不再是黑盒,你可以直接定位引起问题的那一行代码来查看到底发生了什么。对于一个项目而言,源代码是其终极文档,而且通常是发现事情是如何进行的最简单的地方。

要获得这个项目的源码,使用如下的git命令

git clone https://github.com/spring-projects/spring-security.git

这将会为你提供在本机上访问项目完整历史(包含所有正式发行版和分支)的途径。

Java配置改进

简化UserDetailService的Java配置

简化AuthenticationProvider的Java配置

可通过LogoutConfigurer根据不同情况配置使用不同的LogoutSuccessHandler

可通过SessionManagementConfigurer配置InvalidSessionStrategy 

可通过HttpSecurity.addFilterAt在过滤器链的指定位置上添加一个Filter

Web应用的安全改进

内容安全策略(Content Security Policy (CSP))

HTTP公钥固定扩展(HTTP Public Key Pinning (HPKP)

CookieCsrfTokenRepository提供对AngularJS的简单的CSRF集成

添加ForwardAuthenticationFailureHandler 和ForwardAuthenticationSuccessHandler

AuthenticationPrincipal支持通过表达式属性来转换Authentication.getPrincipal()的返回对象(例如处理一个不可变的自定义用户对象)。

授权提升(Authorization Improvements )

Path Variables in Web Security Expressions

Method Security Meta Annotations

Crypto模块提升

通过SCryptPasswordEncoder支持SCrypt

通过Pbkdf2PasswordEncoder支持PBKDF2

为使用AES/CBC/PKCS5Padding和AES/GCM/NoPadding算法的BouncyCastle提供新的BytesEncryptor实现。

测试提升

@WithAnonymousUser

@WithUserDetails 允许指定UserDetailsService  Bean的名称

Test Meta Annotations

通过SecurityMockMvcResultMatchers.withAuthorities模拟一个GrantedAuthority 列表的能力

一般性提升

重新组织案例项目

issues移植到GitHub上。

免费学习视频欢迎关注云图智联:https://e.yuntuzhilian.com/ 

你可能感兴趣的:(Spring Security学习:04.Spring Security 4.1 的新特性)