fix: whitelist mode

This commit is contained in:
tim
2025-07-15 13:02:36 +08:00
parent 1244a58872
commit 59f03f4f13
2 changed files with 7 additions and 13 deletions

View File

@@ -8,18 +8,9 @@
</div>
<div class="email-login-page-content">
<BaseInput
icon="fas fa-envelope"
v-model="username"
placeholder="邮箱/用户名"
/>
<BaseInput icon="fas fa-envelope" v-model="username" placeholder="邮箱/用户名" />
<BaseInput
icon="fas fa-lock"
v-model="password"
type="password"
placeholder="密码"
/>
<BaseInput icon="fas fa-lock" v-model="password" type="password" placeholder="密码" />
<div v-if="!isWaitingForLogin" class="login-page-button-primary" @click="submitLogin">
@@ -78,6 +69,9 @@ export default {
await loadCurrentUser()
toast.success('登录成功')
this.$router.push('/')
} else if (data.reason_code === 'NOT_VERIFIED') {
toast.info('当前邮箱未验证,请先重新填写注册页面并验证')
this.$router.push('/signup')
} else {
toast.error(data.error || '登录失败')
}

View File

@@ -68,7 +68,7 @@ public class AuthController {
if (captchaEnabled && loginCaptchaEnabled && !captchaService.verify(req.getCaptcha())) {
return ResponseEntity.badRequest().body(Map.of("error", "Invalid captcha"));
}
Optional<User> userOpt = userService.findByUsername(req.getUsername());
Optional<User> userOpt = userService.findByUsername(req.getUsernameOrEmail());
if (userOpt.isEmpty() || !userService.matchesPassword(userOpt.get(), req.getPassword())) {
return ResponseEntity.badRequest().body(Map.of(
"error", "Invalid credentials",
@@ -133,7 +133,7 @@ public class AuthController {
@Data
private static class LoginRequest {
private String username;
private String usernameOrEmail;
private String password;
private String captcha;
}