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
相关推荐
持敬chijing2 分钟前
Web渗透之前后端漏洞-XSS漏洞原理攻击防御全流程程序员黑豆8 分钟前
AI全栈开发 - Java:注释摇滚侠10 分钟前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块阿正的梦工坊12 分钟前
【Rust】04-借用、引用与切片痕忆丶17 分钟前
Typora 的替代marktext,marktext切换中文羊羊小栈29 分钟前
Uplift营销供应链协同决策系统(基于Uplift因果推断与运筹优化算法)devilnumber30 分钟前
静态代理 & 动态代理:实战运用 + 场景区别 + 怎么选阿猫的故乡32 分钟前
Vue组合式函数(Composables)从入门到实战:鼠标跟踪、请求封装、本地存储……全案例拆解Upsy-Daisy37 分钟前
Hermes Agent 学习笔记 02:安装、配置与第一次运行一壶纱43 分钟前
一个用于 UniApp 项目的 Pinia 持久化插件