From 284831236372a1ea6d97788f9f10b33fc380595e Mon Sep 17 00:00:00 2001 From: heshunme Date: Mon, 1 Jul 2024 17:37:56 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9E=E7=8E=B0login?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AuthenticationController.java | 27 +++++++++++++++++++ .../authentication/service/UserService.java | 5 ++++ 2 files changed, 32 insertions(+) diff --git a/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java b/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java index 217a20e..15c5f10 100644 --- a/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java +++ b/src/main/java/org/cmh/backend/authentication/controller/AuthenticationController.java @@ -40,6 +40,18 @@ class AuthenticationController { } + @PostMapping("/login") + public ResponseEntity login(@RequestBody LoginRequest loginRequest) { + boolean isValidUser = userService.loginUser(loginRequest.getUsername(), loginRequest.getPassword()); + + if (isValidUser) { + return new ResponseEntity<>(new LoginResponse("登录成功", loginRequest.getUsername()), HttpStatus.OK); + } else { + return new ResponseEntity<>(new LoginResponse("用户名或密码错误", ""), HttpStatus.UNAUTHORIZED); + } + } + + } @@ -59,3 +71,18 @@ class RegisterResponse { private String message; } +@Getter +@Setter +class LoginRequest { + private String username; + private String password; + private String verificationCode; +} + +@Getter +@Setter +@AllArgsConstructor +class LoginResponse { + private String message; + private String username; +} diff --git a/src/main/java/org/cmh/backend/authentication/service/UserService.java b/src/main/java/org/cmh/backend/authentication/service/UserService.java index 33d3d29..ac1620a 100644 --- a/src/main/java/org/cmh/backend/authentication/service/UserService.java +++ b/src/main/java/org/cmh/backend/authentication/service/UserService.java @@ -52,6 +52,11 @@ public class UserService { return true; } + public boolean loginUser(String username, String password) { + UserHS user = userRepository.findByUsername(username); + return user != null && passwordEncoder.matches(password, user.getPassword()); + } + // 验证用户名格式 private boolean isValidUsername(String username) {