You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
With Spring Boot 3, there appears to be an issue with the DefaultMethodSecurityExpressionHandler class.
The createEvaluationContext cannot be overridden because it uses a MethodSecurityEvaluationContext class, which is not accessible. It also invokes a private createSecurityExpressionRoot method, which means my overridden createSecurityExpressionRoot is no longer invoked.
I believe the createEvaluationContext should be modified to unwrap the Supplier object as shown below to restore the original behaviour.
Hello,
I am attempting to migrate my Inception Framework, based on Spring Boot 2, to Spring Boot 3.
I have created a ApiMethodSecurityExpressionHandler class that extends the DefaultMethodSecurityExpressionHandler class.
I have overridden the createSecurityExpressionRoot method, as shown below.
This approach used to work in Spring Boot 2.
With Spring Boot 3, there appears to be an issue with the DefaultMethodSecurityExpressionHandler class.
The createEvaluationContext cannot be overridden because it uses a MethodSecurityEvaluationContext class, which is not accessible. It also invokes a private createSecurityExpressionRoot method, which means my overridden createSecurityExpressionRoot is no longer invoked.
I believe the createEvaluationContext should be modified to unwrap the Supplier object as shown below to restore the original behaviour.
The text was updated successfully, but these errors were encountered: