Skip to content

Commit 7255ffc

Browse files
devondragonclaude
andcommitted
Update WebSecurityConfig for Spring Security 7
- Remove deprecated SecurityExpressionHandler<FilterInvocation> bean - Remove deprecated DefaultWebSecurityExpressionHandler - Update methodSecurityExpressionHandler to static method with RoleHierarchy parameter injection (Spring Security 7 pattern) - Remove unused imports for FilterInvocation and related classes 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 parent ac77c07 commit 7255ffc

1 file changed

Lines changed: 2 additions & 17 deletions

File tree

src/main/java/com/digitalsanctuary/spring/user/security/WebSecurityConfig.java

Lines changed: 2 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
import org.springframework.context.ApplicationEventPublisher;
99
import org.springframework.context.annotation.Bean;
1010
import org.springframework.context.annotation.Configuration;
11-
import org.springframework.security.access.expression.SecurityExpressionHandler;
1211
import org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler;
1312
import org.springframework.security.access.expression.method.MethodSecurityExpressionHandler;
1413
import org.springframework.security.access.hierarchicalroles.RoleHierarchy;
@@ -23,9 +22,7 @@
2322
import org.springframework.security.core.userdetails.UserDetailsService;
2423
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
2524
import org.springframework.security.crypto.password.PasswordEncoder;
26-
import org.springframework.security.web.FilterInvocation;
2725
import org.springframework.security.web.SecurityFilterChain;
28-
import org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler;
2926
import org.springframework.security.web.session.HttpSessionEventPublisher;
3027
import com.digitalsanctuary.spring.user.roles.RolesAndPrivilegesConfig;
3128
import com.digitalsanctuary.spring.user.service.DSOAuth2UserService;
@@ -279,28 +276,16 @@ public RoleHierarchy roleHierarchy() {
279276
return roleHierarchy;
280277
}
281278

282-
/**
283-
* The webExpressionHandler method creates a DefaultWebSecurityExpressionHandler object and sets the roleHierarchy for the handler.
284-
*
285-
* @return the DefaultWebSecurityExpressionHandler object
286-
*/
287-
@Bean
288-
public SecurityExpressionHandler<FilterInvocation> webExpressionHandler() {
289-
DefaultWebSecurityExpressionHandler defaultWebSecurityExpressionHandler = new DefaultWebSecurityExpressionHandler();
290-
defaultWebSecurityExpressionHandler.setRoleHierarchy(roleHierarchy());
291-
return defaultWebSecurityExpressionHandler;
292-
}
293-
294279
/**
295280
* The methodSecurityExpressionHandler method creates a MethodSecurityExpressionHandler object and sets the roleHierarchy for the handler. This
296281
* ensures that method security annotations like @PreAuthorize use the configured role hierarchy.
297282
*
298283
* @return the MethodSecurityExpressionHandler object
299284
*/
300285
@Bean
301-
public MethodSecurityExpressionHandler methodSecurityExpressionHandler() {
286+
static MethodSecurityExpressionHandler methodSecurityExpressionHandler(RoleHierarchy roleHierarchy) {
302287
DefaultMethodSecurityExpressionHandler expressionHandler = new DefaultMethodSecurityExpressionHandler();
303-
expressionHandler.setRoleHierarchy(roleHierarchy());
288+
expressionHandler.setRoleHierarchy(roleHierarchy);
304289
return expressionHandler;
305290
}
306291

0 commit comments

Comments
 (0)