Class AclVoterAuthorizationManagerConfig
AclVoterAuthorizationManager beans, one per active ACL_SECURABLE_* config
attribute, on top of the existing gsec voter beans. Phase X.1 of the ACL voter migration (see
ACL_ENTRY_VOTER_MIGRATION.md on worktree-aclentryvoter-recce).
The recce identified 4 active voter beans and 4 active config attributes plus 2
_IGNORE_TRANSIENT variants (281 call sites total). The 4 map/map-value voter beans are
dead (zero call sites) and are not wrapped here — they will be removed wholesale in Phase X.4.
Active wrappers:
aclSecurableReadAuthorizationManager— wrapssecurableReadVoter(AclEntryVoter) forACL_SECURABLE_READ(176 call sites).aclSecurableEditAuthorizationManager— wrapssecurableEditVoterforACL_SECURABLE_EDIT(87 call sites).aclSecurableEditIgnoreTransientAuthorizationManager— same voter bean, bound to the_IGNORE_TRANSIENTsuffix variant (1 call site inSecurableBaseService).aclSecurableCollectionReadAuthorizationManager— wrapssecurableCollectionReadVoter(AclEntryCollectionVoter) forACL_SECURABLE_COLLECTION_READ(12 call sites).aclSecurableCollectionEditAuthorizationManager— wrapssecurableCollectionEditVoterforACL_SECURABLE_COLLECTION_EDIT(2 call sites).aclSecurableCollectionEditIgnoreTransientAuthorizationManager— same voter bean,_IGNORE_TRANSIENTvariant (1 call site inSecurableBaseService).
Parallel-run posture. These beans exist but are not yet wired into the
method-security interceptor chain. MethodSecurityConfig still
runs @EnableGlobalMethodSecurity on top of the legacy accessDecisionManager
bean. Phase X.2 will: (1) flip MethodSecurityConfig to @EnableMethodSecurity,
(2) construct one AuthorizationManagerBeforeMethodInterceptor per bean here with a
pointcut matching @Secured annotations carrying the matching attribute string, (3) drop
the accessDecisionManager() / runAsManager() overrides. Until then the wrappers
are tested in isolation (see AclVoterAuthorizationManagerTest) but inactive in the
running call chain.
- Author:
- claude
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaclSecurableCollectionEditAuthorizationManager(org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) aclSecurableCollectionEditIgnoreTransientAuthorizationManager(org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) aclSecurableCollectionReadAuthorizationManager(org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) aclSecurableEditAuthorizationManager(org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) aclSecurableEditIgnoreTransientAuthorizationManager(org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) aclSecurableReadAuthorizationManager(org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter)
-
Constructor Details
-
AclVoterAuthorizationManagerConfig
public AclVoterAuthorizationManagerConfig()
-
-
Method Details
-
aclSecurableReadAuthorizationManager
@Bean public AclVoterAuthorizationManager aclSecurableReadAuthorizationManager(@Qualifier("securableReadVoter") org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) -
aclSecurableEditAuthorizationManager
@Bean public AclVoterAuthorizationManager aclSecurableEditAuthorizationManager(@Qualifier("securableEditVoter") org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) -
aclSecurableEditIgnoreTransientAuthorizationManager
@Bean public AclVoterAuthorizationManager aclSecurableEditIgnoreTransientAuthorizationManager(@Qualifier("securableEditVoter") org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) -
aclSecurableCollectionReadAuthorizationManager
@Bean public AclVoterAuthorizationManager aclSecurableCollectionReadAuthorizationManager(@Qualifier("securableCollectionReadVoter") org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) -
aclSecurableCollectionEditAuthorizationManager
@Bean public AclVoterAuthorizationManager aclSecurableCollectionEditAuthorizationManager(@Qualifier("securableCollectionEditVoter") org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter) -
aclSecurableCollectionEditIgnoreTransientAuthorizationManager
@Bean public AclVoterAuthorizationManager aclSecurableCollectionEditIgnoreTransientAuthorizationManager(@Qualifier("securableCollectionEditVoter") org.springframework.security.access.AccessDecisionVoter<org.aopalliance.intercept.MethodInvocation> voter)
-