feat: 登录功能修改

This commit is contained in:
bunny 2024-10-28 16:52:48 +08:00
parent 775deeb662
commit 183deba1b2
3 changed files with 19 additions and 6 deletions

View File

@ -30,6 +30,11 @@ public class LoginDto {
@NotNull(message = "邮箱验证码不能为空")
private String emailCode;
@Schema(name = "type", title = "登录类型")
@NotBlank(message = "登录类型不能为空")
@NotNull(message = "登录类型能为空")
private String type;
@Schema(name = "readMeDay", title = "记住我的天数")
private Long readMeDay = 1L;
}

View File

@ -59,12 +59,19 @@ public class TokenLoginFilterService extends UsernamePasswordAuthenticationFilte
try {
loginDto = objectMapper.readValue(request.getInputStream(), LoginDto.class);
// type不能为空
String type = loginDto.getType();
if (!StringUtils.hasText(type)) {
out(response, Result.error(ResultCodeEnum.REQUEST_IS_EMPTY));
return null;
}
String emailCode = loginDto.getEmailCode();
String username = loginDto.getUsername();
String password = loginDto.getPassword();
// 如果有邮箱验证码表示是邮箱登录
if (StringUtils.hasText(emailCode)) {
if (type.equals("email")) {
emailCode = emailCode.toLowerCase();
Object redisEmailCode = redisTemplate.opsForValue().get(RedisUserConstant.getAdminUserEmailCodePrefix(username));
if (redisEmailCode == null) {

View File

@ -49,7 +49,6 @@ public class CustomUserDetailsServiceImpl implements cn.bunny.services.security.
return new CustomUser(adminUser, AuthorityUtils.createAuthorityList());
}
/**
* 前台用户登录接口
*
@ -63,10 +62,12 @@ public class CustomUserDetailsServiceImpl implements cn.bunny.services.security.
Long readMeDay = loginDto.getReadMeDay();
// 查询用户相关内容
LambdaQueryWrapper<AdminUser> queryWrapper = new LambdaQueryWrapper<AdminUser>()
.eq(AdminUser::getUsername, username)
.or()
.eq(AdminUser::getEmail, username);
LambdaQueryWrapper<AdminUser> queryWrapper = new LambdaQueryWrapper<>();
if (loginDto.getType().equals("email")) {
queryWrapper.eq(AdminUser::getEmail, username);
} else {
queryWrapper.eq(AdminUser::getUsername, username);
}
AdminUser user = userMapper.selectOne(queryWrapper);
// 判断用户是否为空