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
相关推荐
掘金安东尼3 小时前
纯 CSS 实现弹性文字效果牛奶3 小时前
Vue 基础理论 & API 使用牛奶3 小时前
Vue 底层原理 & 新特性anOnion4 小时前
构建无障碍组件之Radio group patternpe7er4 小时前
状态提升:前端开发中的状态管理的设计思想SoaringHeart5 小时前
Flutter调试组件:打印任意组件尺寸位置信息 NRenderBox晚风予星5 小时前
Ant Design Token Lens 迎来了全面升级!支持在 .tsx 或 .ts 文件中直接使用 Design Tokensunny_6 小时前
⚡️ vite-plugin-oxc:从 Babel 到 Oxc,我为 Vite 写了一个高性能编译插件GIS之路6 小时前
ArcPy 开发环境搭建林小帅7 小时前
【笔记】OpenClaw 架构浅析