11package com .digitalsanctuary .spring .user .security ;
22
3- import static org .springframework .security .config .Customizer .withDefaults ;
43import java .util .ArrayList ;
54import java .util .Arrays ;
65import java .util .Collections ;
76import java .util .List ;
8- import java .util .stream .Collectors ;
9-
10- import com .digitalsanctuary .spring .user .service .DSOidcUserService ;
117import org .springframework .beans .factory .annotation .Value ;
128import org .springframework .context .ApplicationEventPublisher ;
139import org .springframework .context .annotation .Bean ;
3329import org .springframework .security .web .session .HttpSessionEventPublisher ;
3430import com .digitalsanctuary .spring .user .roles .RolesAndPrivilegesConfig ;
3531import com .digitalsanctuary .spring .user .service .DSOAuth2UserService ;
32+ import com .digitalsanctuary .spring .user .service .DSOidcUserService ;
3633import com .digitalsanctuary .spring .user .service .LoginSuccessService ;
3734import com .digitalsanctuary .spring .user .service .LogoutSuccessService ;
3835import lombok .Data ;
@@ -145,9 +142,7 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
145142
146143 // Configure remember-me only if explicitly enabled and key is provided
147144 if (rememberMeEnabled && rememberMeKey != null && !rememberMeKey .trim ().isEmpty ()) {
148- http .rememberMe (rememberMe -> rememberMe
149- .key (rememberMeKey )
150- .userDetailsService (userDetailsService ));
145+ http .rememberMe (rememberMe -> rememberMe .key (rememberMeKey ).userDetailsService (userDetailsService ));
151146 }
152147
153148 http .logout (logout -> logout .logoutUrl (logoutActionURI ).logoutSuccessUrl (logoutSuccessURI ).invalidateHttpSession (true )
@@ -239,8 +234,7 @@ private List<String> getUnprotectedURIsList() {
239234 */
240235 @ Bean
241236 public DaoAuthenticationProvider authProvider () {
242- final DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider ();
243- authProvider .setUserDetailsService (userDetailsService );
237+ DaoAuthenticationProvider authProvider = new DaoAuthenticationProvider (userDetailsService );
244238 authProvider .setPasswordEncoder (encoder ());
245239 return authProvider ;
246240 }
@@ -280,8 +274,7 @@ public RoleHierarchy roleHierarchy() {
280274 log .error ("WebSecurityConfig.roleHierarchy: rolesAndPrivilegesConfig.getRoleHierarchyString() is null!" );
281275 return null ;
282276 }
283- RoleHierarchyImpl roleHierarchy = new RoleHierarchyImpl ();
284- roleHierarchy .setHierarchy (rolesAndPrivilegesConfig .getRoleHierarchyString ());
277+ RoleHierarchyImpl roleHierarchy = RoleHierarchyImpl .fromHierarchy (rolesAndPrivilegesConfig .getRoleHierarchyString ());
285278 log .debug ("WebSecurityConfig.roleHierarchy: roleHierarchy: {}" , roleHierarchy .toString ());
286279 return roleHierarchy ;
287280 }
@@ -299,8 +292,8 @@ public SecurityExpressionHandler<FilterInvocation> webExpressionHandler() {
299292 }
300293
301294 /**
302- * The methodSecurityExpressionHandler method creates a MethodSecurityExpressionHandler object and sets the roleHierarchy for the handler.
303- * This ensures that method security annotations like @PreAuthorize use the configured role hierarchy.
295+ * The methodSecurityExpressionHandler method creates a MethodSecurityExpressionHandler object and sets the roleHierarchy for the handler. This
296+ * ensures that method security annotations like @PreAuthorize use the configured role hierarchy.
304297 *
305298 * @return the MethodSecurityExpressionHandler object
306299 */
@@ -343,10 +336,7 @@ private String[] splitAndFilterProperty(String property) {
343336 if (property == null || property .trim ().isEmpty ()) {
344337 return new String [0 ];
345338 }
346- return Arrays .stream (property .split ("," ))
347- .map (String ::trim )
348- .filter (s -> !s .isEmpty ())
349- .toArray (String []::new );
339+ return Arrays .stream (property .split ("," )).map (String ::trim ).filter (s -> !s .isEmpty ()).toArray (String []::new );
350340 }
351341
352342 /**
0 commit comments