Client Controller SysLoginService ThreadLocal AuthManager UserDetailsService PasswordService TokenService Redis SysUserService SecurityUtils 1. POST /login {username,password} 2. login(username,password) 3. loginPreCheck() 抛出UserNotExistsException 返回错误(400) alt [用户名或密码为空] 4. setContext(authenticationToken) 5. authenticate(authenticationToken) 6. loadUserByUsername 7. selectUserByUseNo() 8. validate(user) 9. getContext() 返回原始凭证 10. matchesPassword() 抛出BadCredentialsException 认证失败 抛出UserPasswordNotMatchException 返回错误(401) alt [密码不匹配] 11. 返回Authentication 12. createToken(loginUser) 13. 存储LoginUser(login_tokens:uuid) 14. 返回JWT 15. clearContext() 16. 返回token 17. 响应Token(200) Client Controller SysLoginService ThreadLocal AuthManager UserDetailsService PasswordService TokenService Redis SysUserService SecurityUtils
相关推荐
xixixin_3 分钟前
【CSS】字体大小不一致?px与vw渲染差异的底层原理与解决方案晓纪同学6 分钟前
EffctiveC++_01第一章zhen_hong7 分钟前
ReactAgent原理汤姆yu7 分钟前
IDEA使用通义灵码做现有项目迭代开发保姆级教程小J听不清8 分钟前
CSS 内边距(padding)全解析:取值规则 + 表格实战我真会写代码8 分钟前
Java事务核心原理与实战避坑指南康世行9 分钟前
IDEA集成AI辅助工具推荐(好用不卡顿)zhangjikuan8910 分钟前
在 ArkTS 中,Promise 的使用比 TypeScript 更严格(必须显式指定泛型类型)桐溪漂流10 分钟前
Uni-app H5 环境下 ResizeObserver 监听 mp-html 动态高度Zhao_yani11 分钟前
微服务核心组件:Gateway