Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
| web:framework:spring:security [2023/12/05 11:36] – [Configuration des rôles] jcheron | web:framework:spring:security [2025/12/15 09:18] (Version actuelle) – [Déclaration du service] jcheron | ||
|---|---|---|---|
| Ligne 7: | Ligne 7: | ||
| ===== Intégration ===== | ===== Intégration ===== | ||
| - | Ajouter | + | Ajouter |
| <sxh xml; | <sxh xml; | ||
| - | < | + | < |
| - | | + | < |
| - | | + | < |
| - | </ | + | </ |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| - | + | ||
| - | < | + | |
| - | < | + | |
| - | < | + | |
| - | </ | + | |
| </ | </ | ||
| Ligne 50: | Ligne 39: | ||
| @Configuration | @Configuration | ||
| @EnableWebSecurity | @EnableWebSecurity | ||
| - | public class WebSecurityConfiguration | + | public class SecurityConfig |
| + | |||
| @Bean | @Bean | ||
| public SecurityFilterChain configure(HttpSecurity http) throws Exception { | public SecurityFilterChain configure(HttpSecurity http) throws Exception { | ||
| http.csrf(AbstractHttpConfigurer:: | http.csrf(AbstractHttpConfigurer:: | ||
| (req) -> req.requestMatchers( | (req) -> req.requestMatchers( | ||
| - | AntPathRequestMatcher.antMatcher("/" | + | PathPatternRequestMatcher.withDefaults().matcher("/" |
| - | | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| ) | ) | ||
| .permitAll() | .permitAll() | ||
| .anyRequest() | .anyRequest() | ||
| .authenticated() | .authenticated() | ||
| - | | + | ); |
| return http.build(); | return http.build(); | ||
| } | } | ||
| Ligne 209: | Ligne 198: | ||
| @Bean | @Bean | ||
| public DaoAuthenticationProvider authenticationProvider(UserDetailsService userService) { | public DaoAuthenticationProvider authenticationProvider(UserDetailsService userService) { | ||
| - | DaoAuthenticationProvider auth = new DaoAuthenticationProvider(); | + | DaoAuthenticationProvider auth = new DaoAuthenticationProvider(userService); |
| - | auth.setUserDetailsService(userService); | + | |
| auth.setPasswordEncoder(getPasswordEncoder()); | auth.setPasswordEncoder(getPasswordEncoder()); | ||
| return auth; | return auth; | ||
| Ligne 238: | Ligne 226: | ||
| </ | </ | ||
| + | === Récupération Utilisateur connecté === | ||
| + | Récupération de l' | ||
| + | |||
| + | <sxh java> | ||
| + | @ControllerAdvice | ||
| + | public class MainAdvice { | ||
| + | @ModelAttribute(" | ||
| + | public User activeUser(Authentication auth) { | ||
| + | return (auth == null) ? null : (User) auth.getPrincipal(); | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| ==== Login form personnalisée ==== | ==== Login form personnalisée ==== | ||
| Ligne 295: | Ligne 295: | ||
| http.csrf(AbstractHttpConfigurer:: | http.csrf(AbstractHttpConfigurer:: | ||
| (req) -> req.requestMatchers( | (req) -> req.requestMatchers( | ||
| - | | + | |
| ... | ... | ||
| ) | ) | ||