帮我写一段用户登录的代码,技术框架为java、springboot、MySQL、mybatis
时间: 2023-12-27 17:02:30 浏览: 22
好的,我可以帮您写一段用户登录的代码。以下是代码示例:
```
@PostMapping("/login")
public ResponseEntity<?> login(@RequestBody User user) {
String username = user.getUsername();
String password = user.getPassword();
User userFromDb = userService.findByUsername(username);
if (userFromDb == null) {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Incorrect username or password");
}
if (!passwordEncoder.matches(password, userFromDb.getPassword())) {
return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body("Incorrect username or password");
}
String token = jwtUtil.generateToken(userFromDb);
return ResponseEntity.ok(new JwtResponse(token));
}
```
该代码使用了 Spring Boot 框架,并且将用户信息存储在 MySQL 数据库中,使用了 MyBatis 进行数据访问。当用户提交登录请求时,系统会根据用户输入的用户名和密码在数据库中查找对应的用户信息。如果用户名不存在或者密码不匹配,则返回 401 错误码;否则,生成一个 JWT Token 并返回给用户。