基于JWT 的验证
JWT
本文将会详细介绍

如果客户端访问受保护的资源,必须在

WebSecurityConfigurerAdapter 是我们安全实现的核心。它提供了HttpSecurity 配置来配置cors 、csrf、会话管理、受保护资源的规则。我们也可以扩展和定制默认的配置,它包含下面的元素。UserDetailsService 接口有一个通过用户名加载User 的方法,并返回一个UserDetails 对象,Spring Security 可以用来进行认证和验证。UserDetails 包含必要的信息(如:用户名、密码、权限)来构建一个认证对象。UsernamePasswordAuthenticationToken 从登录请求中获取{ 用户名,密码} ,AuthenticationManager 将使用它来验证登录账户。AuthenticationManager 有一个DaoAuthenticationProvider (在UserDetailsService 和PasswordEncoder 的帮助下)来验证UsernamePasswordAuthenticationToken 对象。如果成功,AuthenticationManager 返回一个完全填充的Authentication 对象(包括授权) 。OncePerRequestFilter 对我们的API 的每个请求进行一次执行。它提供了一个doFilterInternal() 方法,我们将实现解析和验证JWT ,加载User 详情(使用UserDetailsService ) ,检查Authorizaion (使用UsernamePasswordAuthenticationToken ) 。AuthenticationEntryPoint 将捕获认证错误。
Links
- 本文关联的代码仓库参阅:Spring-Notes/examples