feat: 登录功能修改
This commit is contained in:
parent
775deeb662
commit
183deba1b2
|
@ -30,6 +30,11 @@ public class LoginDto {
|
||||||
@NotNull(message = "邮箱验证码不能为空")
|
@NotNull(message = "邮箱验证码不能为空")
|
||||||
private String emailCode;
|
private String emailCode;
|
||||||
|
|
||||||
|
@Schema(name = "type", title = "登录类型")
|
||||||
|
@NotBlank(message = "登录类型不能为空")
|
||||||
|
@NotNull(message = "登录类型能为空")
|
||||||
|
private String type;
|
||||||
|
|
||||||
@Schema(name = "readMeDay", title = "记住我的天数")
|
@Schema(name = "readMeDay", title = "记住我的天数")
|
||||||
private Long readMeDay = 1L;
|
private Long readMeDay = 1L;
|
||||||
}
|
}
|
||||||
|
|
|
@ -59,12 +59,19 @@ public class TokenLoginFilterService extends UsernamePasswordAuthenticationFilte
|
||||||
try {
|
try {
|
||||||
loginDto = objectMapper.readValue(request.getInputStream(), LoginDto.class);
|
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 emailCode = loginDto.getEmailCode();
|
||||||
String username = loginDto.getUsername();
|
String username = loginDto.getUsername();
|
||||||
String password = loginDto.getPassword();
|
String password = loginDto.getPassword();
|
||||||
|
|
||||||
// 如果有邮箱验证码,表示是邮箱登录
|
// 如果有邮箱验证码,表示是邮箱登录
|
||||||
if (StringUtils.hasText(emailCode)) {
|
if (type.equals("email")) {
|
||||||
emailCode = emailCode.toLowerCase();
|
emailCode = emailCode.toLowerCase();
|
||||||
Object redisEmailCode = redisTemplate.opsForValue().get(RedisUserConstant.getAdminUserEmailCodePrefix(username));
|
Object redisEmailCode = redisTemplate.opsForValue().get(RedisUserConstant.getAdminUserEmailCodePrefix(username));
|
||||||
if (redisEmailCode == null) {
|
if (redisEmailCode == null) {
|
||||||
|
|
|
@ -49,7 +49,6 @@ public class CustomUserDetailsServiceImpl implements cn.bunny.services.security.
|
||||||
return new CustomUser(adminUser, AuthorityUtils.createAuthorityList());
|
return new CustomUser(adminUser, AuthorityUtils.createAuthorityList());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 前台用户登录接口
|
* 前台用户登录接口
|
||||||
*
|
*
|
||||||
|
@ -63,10 +62,12 @@ public class CustomUserDetailsServiceImpl implements cn.bunny.services.security.
|
||||||
Long readMeDay = loginDto.getReadMeDay();
|
Long readMeDay = loginDto.getReadMeDay();
|
||||||
|
|
||||||
// 查询用户相关内容
|
// 查询用户相关内容
|
||||||
LambdaQueryWrapper<AdminUser> queryWrapper = new LambdaQueryWrapper<AdminUser>()
|
LambdaQueryWrapper<AdminUser> queryWrapper = new LambdaQueryWrapper<>();
|
||||||
.eq(AdminUser::getUsername, username)
|
if (loginDto.getType().equals("email")) {
|
||||||
.or()
|
queryWrapper.eq(AdminUser::getEmail, username);
|
||||||
.eq(AdminUser::getEmail, username);
|
} else {
|
||||||
|
queryWrapper.eq(AdminUser::getUsername, username);
|
||||||
|
}
|
||||||
AdminUser user = userMapper.selectOne(queryWrapper);
|
AdminUser user = userMapper.selectOne(queryWrapper);
|
||||||
|
|
||||||
// 判断用户是否为空
|
// 判断用户是否为空
|
||||||
|
|
Loading…
Reference in New Issue