基于Java的水族馆管理系统的设计与实现 登录核心代码
时间: 2024-09-08 10:00:58 浏览: 84
设计一个基于Java的水族馆管理系统通常会包含以下几个关键部分:
1. **登录模块**:
- **用户模型**: User.java,包括用户名(username)、密码(password)等字段,并提供相关的getter和setter方法。
- **登录界面**: 使用Swing或Spring Boot等框架创建GUI,包含输入框、按钮等元素,用于接收用户的用户名和密码。
- **登录处理器**: LoginController.java,处理用户输入并验证,一般通过`AuthenticationService`进行密码加密比对。
```java
public class LoginController {
private AuthenticationService authService;
public void login(String username, String password) {
try {
// 加密用户密码
String hashedPassword = authService.hashPassword(password);
boolean isMatch = authService.authenticate(username, hashedPassword);
if (isMatch) {
// 登录成功,跳转到主页面
// ...此处省略登录成功的逻辑...
} else {
// 显示错误信息
JOptionPane.showMessageDialog(null, "用户名或密码错误");
}
} catch (Exception e) {
System.out.println("登录失败:" + e.getMessage());
}
}
}
```
2. **AuthenticationService**:
- 这是一个业务服务类,负责密码的存储和加密以及身份验证。
```java
@Service
public class AuthenticationService {
@Autowired
private UserRepository userRepository;
// 对密码进行哈希处理
public String hashPassword(String password) {
return BCrypt.hashpw(password, BCrypt.gensalt());
}
// 验证用户提供的密码是否匹配数据库中的哈希值
public boolean authenticate(String username, String hashedPassword) {
User user = userRepository.findByUsername(username);
return user != null && BCrypt.checkpw(password, user.getPassword());
}
}
```
这里假设存在UserRepository作为数据访问层,它负责从数据库查询用户信息。
阅读全文