Skip to content
Snippets Groups Projects

recuperation des id des utilisateurs connecté

Merged Fatima Ezzahra Majidi requested to merge master into main
8 files
+ 97
64
Compare changes
  • Side-by-side
  • Inline
Files
8
@@ -13,6 +13,7 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.*;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Optional;
@@ -54,41 +55,29 @@ public class AuthController {
String username = loginRequest.get("username");
String password = loginRequest.get("password");
System.out.println("🔍 Attempting login for: " + username);
if (username == null || password == null) {
System.out.println("❌ Username or password is missing in the request.");
return ResponseEntity.status(400).body(Map.of("error", "Username and password are required"));
}
Optional<User> userOptional = userService.findByUsername(username);
if (userOptional.isEmpty()) {
System.out.println("❌ User not found!");
return ResponseEntity.status(401).body(Map.of("error", "Invalid credentials"));
Optional<User> user = userService.findByUsername(username);
if (user.isEmpty()) {
return ResponseEntity.status(401).body("Invalid credentials");
}
User user = userOptional.get();
System.out.println("✅ User found: " + username);
try {
Authentication authentication = authenticationManager.authenticate(
new UsernamePasswordAuthenticationToken(username, password)
);
// Update security context on successful authentication
SecurityContextHolder.getContext().setAuthentication(authentication);
System.out.println("✅ Login successful for user: " + username);
// ✅ 🔥 Renvoie les rôles de l'utilisateur dans la réponse
return ResponseEntity.ok(Map.of(
"message", "Login successful",
"username", user.getUsername(),
"roles", user.getRoles() // Retourne les rôles ici
));
// ✅ Send username & familyname in the response
Map<String, Object> responseBody = new HashMap<>();
responseBody.put("id", user.get().getId()); // 🔥 Ajoute l'ID ici
responseBody.put("username", user.get().getUsername());
responseBody.put("familyname", user.get().getFamilyname()); // Assure-toi que ce champ existe bien
responseBody.put("roles", user.get().getRoles());
responseBody.put("message", "Login successful");
return ResponseEntity.ok(responseBody);
} catch (Exception e) {
System.out.println("❌ Authentication failed for user " + username + ": " + e.getMessage());
return ResponseEntity.status(401).body(Map.of("error", "Invalid username or password"));
return ResponseEntity.status(401).body("Invalid username or password");
}
}
Loading