使用步骤:
1. 编写配置类SecurityConfig
配置使用什么方式登录,配置哪些接口可以放行,哪些接口需要验证权限
2. 编写用户信息类-XXX类,继承UserDetails,作为SpringSecurity 认证框架的主体类,贯穿整个安全框架的主体类
3. 编写用户详情服务类-XXX类,实现UserDetailsService接口,实现loadUserByUsername,SpringSecurity框架会自动调用该方法,获取认证主体类
4.编写登录接口Api
登录接口Api 部分调用逻辑
4.1 使用用户名和密码构建 UsernamePasswordAuthenticationToken 实例。
4.2 使用AuthenticationManagerBuilder.getObject().authenticate 校验上一步的 Token实例。成功后返回Authentication对象,该对象保护 SpringSecurity框架的主体类等相关信息。
4.3 SecurityContextHolder.getContext().setAuthenticationo(authentication) 设置全局当前登录用户,便于其他地方获取当前登录用户的信息。
4.4 返回用户相关信息给前端