Bonjour,

J'essaie de mettre en place l'authentification via une application Java en utilisant Spring Security 3.

Voici ma méthode pour récupérer le username :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
  public String getName() {
        Object obj = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
 
        if (obj instanceof UserDetails) {
 
          name=((UserDetails) obj).getUsername();
        } else {
          String username = obj.toString();
          System.out.println("UserName : " + username);
          name=username;
        }
 
        return name;
  }
Et ma méthode pour récupérer le rôle
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
  public String getRole() {
        Object obj = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
 
        if (obj instanceof UserDetails) {
            GrantedAuthority[] granted = ((UserDetails)obj).getAuthorities();
            String authority = granted[0].getAuthority() ;
            String role1 = authority.substring(5);
          role=role1 ;
        }
        return role;
    }
J'ai essayé avec Spring Security 2 et ça fonctionne mais pas avec la version 3. Lorsque je m'authentifie, il ne m'affiche pas le username ainsi que son rôle.

Quelqu'un saurait-il m'indiquer d'où peut venir le problème ?

Merci d'avance pour votre aide.