核心笔记-长篇

一、验证授权 Spring Security

1、登录实现思路

  1. SecurityConfig 配置类:securityFilterChain(httpSecurity) 中配置拦截和放行的地址并添加授权管理器,并注入 AuthenticationManager(认证管理对象) 和 BCryptPasswordEncoder(随机盐值加密方法对象)
  2. 控制层:接受前端发送的账号密码,调用服务层返回前端需要的内容
  3. 服务层:使用 authenticationManager.authenticate(带有账号密码的 usernamePasswordAuthenticationToken 对象) 得到认证后的对象 authentication
  4. UserDetailsService 实现类:调用 authenticate() 会执行 UserDetailsService 实现类的 loadUserByUsername(username) ,在该方法中通过查询数据库来获取认证后的对象,此对象一般是我们实现 UserDetails 接口自定义的用户对象
  5. 服务层:authentication.getPrincipal() 可以获得我们自定义的用户对象,强转
  6. 服务层:然后就可以构造返回对象,为返回对象赋值,如:Token、角色列表、资源列表等信息

2、访问拦截实现思路

  1. 配置自定义拦截器实现 HandlerInterceptor
  2. preHandle(request,response,handler) 中判断是

你可能感兴趣的:(记忆,笔记)