Fix setServletContext not being called for AuthorizationManagerWebInvocationPrivilegeEvaluator

Issue gh-10908
This commit is contained in:
Marcus Da Coregio 2022-04-25 09:38:58 -03:00
parent 2031f101dc
commit 9d378103b0
1 changed files with 4 additions and 1 deletions

View File

@ -344,7 +344,10 @@ public final class WebSecurity extends AbstractConfiguredSecurityBuilder<Filter,
if (filter instanceof AuthorizationFilter) { if (filter instanceof AuthorizationFilter) {
AuthorizationManager<HttpServletRequest> authorizationManager = ((AuthorizationFilter) filter) AuthorizationManager<HttpServletRequest> authorizationManager = ((AuthorizationFilter) filter)
.getAuthorizationManager(); .getAuthorizationManager();
privilegeEvaluators.add(new AuthorizationManagerWebInvocationPrivilegeEvaluator(authorizationManager)); AuthorizationManagerWebInvocationPrivilegeEvaluator evaluator = new AuthorizationManagerWebInvocationPrivilegeEvaluator(
authorizationManager);
evaluator.setServletContext(this.servletContext);
privilegeEvaluators.add(evaluator);
} }
} }
return new RequestMatcherEntry<>(securityFilterChain::matches, privilegeEvaluators); return new RequestMatcherEntry<>(securityFilterChain::matches, privilegeEvaluators);