Wenn ich eine POST-Anfrage an den Endpunkt „login-admin“ durchführe, möchte ich, dass diese zum Endpunkt „admin-dashboard“ umgeleitet wird. Ich stoße jedoch auf ein Problem, bei dem die Weiterleitung nicht wie vorgesehen zum „Admin-Dashboard“ erfolgt. Stattdessen wird auf eine Fehler-URL umgeleitet. Ich habe die Endpunkte in der Konfiguration bereits zugelassen, aber das Problem besteht weiterhin. Ich habe alles überprüft, einschließlich der Datenbank- und MVC-Einrichtung, aber ich habe das Problem immer noch nicht gefunden. Können Sie ein Problem in meinem Code identifizieren, weil er nicht funktioniert?
@Controller
öffentliche Klasse MainController {
@Autowired
private AdminRepository adminRepository;
@Autowired
private UserRepository userRepository;
@Autowired
private PasswordEncoder passwordEncoder;
// Admin login page
@GetMapping("/login-admin")
public String adminPage() {
return "login-admin";
}
// Admin login process
@PostMapping("/login-admin")
public String loginAdmin(@RequestParam("username") String username,
@RequestParam("password") String password,
Model model) {
if (username.isEmpty() || password.isEmpty()) {
model.addAttribute("error", "username and password must be filled";
return "login-admin"; // Error handling for empty inputs
}
Admin admin = adminRepository.findByUsername(username);
if (admin == null || !passwordEncoder.matches(password, admin.getPassword())) {
model.addAttribute("error", "username or password is wrong");
return "login-admin"; // Incorrect login
}
// Successful login
return "redirect:/admin-dashboard"; // Redirect to admin dashboard
}
@GetMapping("/admin-dashboard")
public String adminDashboard() {
return "admin-dashboard";
}
hier ist der my thymeleaf-Code;
Username:
Password:
Login
hier ist mein Service;
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
Admin admin = adminRepository.findByUsername(username);
if (admin == null) {
System.out.println("Admin is not found");
throw new UsernameNotFoundException("Admin is not found: " + username);
} else {
System.out.println("Admin is found " + admin.getUsername());
}
return org.springframework.security.core.userdetails.User
.withUsername(admin.getUsername())
.password(admin.getPassword())
.authorities(admin.getRole())
.build();
}
Spring Boot-Thymeleaf-Umleitungsproblem (bei Post-Anfrage) [geschlossen] ⇐ Java
-
- Similar Topics
- Replies
- Views
- Last post