soul-admin模块源码分析
用户登录
-
在登录页面点击登录,通过浏览器控制台可以看到请求的地址是
http://localhost:9095/platform/login?userName={username}&password={pwd} -
然后找到方法入口:这里通过
dashboardUserService.login拿到一个返回的VO。@GetMapping("/login") public SoulAdminResult loginDashboardUser(final String userName, final String password) { LoginDashboardUserVO loginVO = dashboardUserService.login(userName, password); return Optional.ofNullable(loginVO).map(item -> SoulAdminResult.success(SoulResultMessage.PLATFORM_LOGIN_SUCCESS, loginVO)) .orElse(SoulAdminResult.error(SoulResultMessage.PLATFORM_LOGIN_ERROR)); } -
主要看一下这个login方法:这里首先会根据用户名和明文密码去数据库找,如果找到了,会把这个用户的密码加密后更新数据库;如果明文密码找不到就使用加密密码去找。
@Override @Transactional(rollbackFor = Exception.class) public LoginDashboardUserVO login(final String userName, final String password) { String key = secretProperties.getKey(); DashboardUserVO dashboardUserVO = findByQuery(userName, password); if (!ObjectUtils.isEmpty(dashboardUserVO)) { DashboardUserDTO dashboardUserDTO = DashboardUserDTO.builder() .id(dashboardUserVO.getId(<

本文深入分析了soul-admin模块的用户登录源码,详细阐述了登录过程中如何根据用户名和密码查找用户,以及使用AES加密处理密码。登录成功后,探讨了如何获取用户权限,通过JWT令牌验证机制获取有权限的菜单。文章引用了javax.crypto的Cipher加密和JWT接口验证的相关知识。
最低0.47元/天 解锁文章
389

被折叠的 条评论
为什么被折叠?



