Bonjour à tous,
J'utilise Spring-Security pour la connexion de mes utilisateurs sur le site. Je vais chercher les droits/roles de mes utilisateurs en base dans un populator. Au passage, je veux logguer la connexion en base, ce que j'arrive à faire.
Ce qui me manque, c'est de pouvoir récupérer le "user-agent" (msie, firefox, etc.) qui a été utilisé.
Vous pouvez me dire si cette conception est bonne déjà, et comment récupérer mon user-agent, svp. ?
Voici à quoi ressemble actuellement mon code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 public class MonPopulator implements LdapAuthoritiesPopulator { @Autowired private UserService userService; @Override public final Collection<? extends GrantedAuthority> getGrantedAuthorities(DirContextOperations userData, String username) { logger.debug("getGrantedAuthorities"); final MonUser user = getMonUserByUsernameEnBase(username); final List<GrantedAuthority> authorities = newArrayList(); // token final List<GrantedAuthority> grantedAuthorities = getAuthorities(user.getRoles()); authorities.addAll(grantedAuthorities); // Register en base registerConnectionIntoDb(userData, username); return authorities; } /** * Enregistre en base le fait que l'utilisateur vient de se connecter. * * @param userData * @param username */ private void registerConnectionIntoDb(DirContextOperations userData, String username) { logger.debug("registerConnectionIntoDb"); final ApplicationEnum appEnum = getApplicationEnum(); final String userAgent = getUserAgent(userData); userService.registerConnectionIntoDb(username, userAgent, appEnum); } private static String getUserAgent(DirContextOperations userData) { final String userAgent = "firefox"; // partie a changer return userAgent ; }
Partager