Bonjour,
Confinement oblige, je retravaille sur un projet maison qui me sert de base pour approfondir mes connaissances autour d'Angular et de Spring.
J'avais un ancien projet avec une configuration xml.
La configuration xml pour spring security était la suivante:
Code XML : Sélectionner tout - Visualiser dans une fenêtre à part 
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
J'ai commencé la conversion en classe de configuration java qui n'est pas finie mais je ne sais pas si c'est correct:
En gros, voici la sécurité que je souhaite avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
- A la création d'un compte, le mot de passe utilisateur est hashé avec BCrypt (gestion du sel automatique de ce que j'ai compris)
- Quand l'utilisateur s'est authentifié, il y a un jeton JWT qui sera mis dans les header des requêtes et donc vérifié par le filtre côté back
- JwtAuthenticationFilter se charge d'extraire le token de la requête puis d'appeler la méthode "authenticate()" du AuthenticationManager
- Cela provoquera un appel à la méthode "retrieveUser()" de JwtAuthenticationProvider dans laquelle je vérifie le token (validité), récupère le username qu'il contient, récupère les authorisations en BD associées puis créé l'AuthenticatedUser
Plus tard je passerai sur de l'OAuth2.
Mes questions:
- Dans jwtAuthenticationFilter(), pourquoi définir un bean pour l'authenticationManager? Pourquoi pas un @Autowired ou un new? Egalement, pourquoi un new pour le success handler (JwtAuthenticationSuccessHandler) et pas un @Autowired vu qu'il déclaré avec @Component (je me suis basé sur un exemple trouvé)?
- Dans un exemple, j'ai vu que le bean daoAuthenticationProvider était déclaré mais je ne comprend pas son utilité car je ne l'avais pas avant (je souhaite hasher le mot de passe avec BCrypt ce que je n'avais pas dans mon précédent exemple donc c'est peut être pour ca).
- Il y a des "conversions" dont je ne suis pas sûr comme pour pattern="/rest/**" entry-point-ref="restAuthenticationEntryPoint" create-session="stateless" ou before="FORM_LOGIN_FILTER" ou bien l'authenticationManager ou bien encore <security:global-method-security pre-post-annotations="enabled" />.
- Je ne comprend si .httpBasic() est utile dans mon cas car je vérifie la présence du token et sa validité dans le header de la requête avec mon filtre personnalisé.
- Lors de l'authentification (appel au service correspondant), comment se passe la vérification du mot de passe avec BCrypt?
Pouvez-vous m'aider svp?
Merci d'avance.

 

 
		
		 
        

 
			
			


 
   


 Conversion configuration spring security xml
 Conversion configuration spring security xml
				 Répondre avec citation
  Répondre avec citation
Partager