Class BatchControlMatrixAuthorizationStrategy
java.lang.Object
hudson.security.AuthorizationStrategy
hudson.security.GlobalMatrixAuthorizationStrategy
hudson.security.ProjectMatrixAuthorizationStrategy
io.jenkins.plugins.batchcontrol.security.BatchControlMatrixAuthorizationStrategy
- All Implemented Interfaces:
ExtensionPoint,Describable<AuthorizationStrategy>,GrantLayeredStrategy,org.jenkinsci.plugins.matrixauth.AuthorizationContainer<AuthorizationStrategy>
public class BatchControlMatrixAuthorizationStrategy
extends ProjectMatrixAuthorizationStrategy
implements GrantLayeredStrategy
matrix-auth's project-based matrix with Batch Control grants layered on top (D-35a,
ARCHITECTURE section 4). Being a
ProjectMatrixAuthorizationStrategy, it passes every
instanceof check matrix-auth makes, so job, folder and agent authorization properties
stay configurable and effective, and matrix-auth's own logic runs underneath the grant layer.
Every getACL overload the parent overrides is wrapped in a GrantAwareACL. The
root and agent ACLs carry no grant scope (S-13: grants never apply there), so for them the
wrapper passes every decision through. With no active grant, or while change control is off,
the strategy behaves exactly like its parent.
Persistence: matrix-auth's XStream converter matches its exact class and is restricted, so
BatchControlMatrixAuthorizationStrategy.ConverterImpl writes the same <permission>TYPE:id:sid</permission> lines through
public API. JCasC support is BatchControlMatrixCascConfigurator.
matrix-auth is an optional dependency; the descriptor is an optional extension, so without matrix-auth this class is simply never loaded.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classFound by XStream through the$ConverterImplnaming convention.static final classListed on the security page.Nested classes/interfaces inherited from class hudson.security.GlobalMatrixAuthorizationStrategy
GlobalMatrixAuthorizationStrategy.PermissionAdderImplNested classes/interfaces inherited from class hudson.security.AuthorizationStrategy
AuthorizationStrategy.UnsecuredNested classes/interfaces inherited from interface org.jenkinsci.plugins.matrixauth.AuthorizationContainer
org.jenkinsci.plugins.matrixauth.AuthorizationContainer.IdStrategyComparator, org.jenkinsci.plugins.matrixauth.AuthorizationContainer.PermissionEntryComparatorNested classes/interfaces inherited from interface hudson.ExtensionPoint
ExtensionPoint.LegacyInstancesAreScopedToHudson -
Field Summary
Fields inherited from class hudson.security.ProjectMatrixAuthorizationStrategy
DESCRIPTORFields inherited from class hudson.security.GlobalMatrixAuthorizationStrategy
DANGEROUS_PERMISSIONSFields inherited from class hudson.security.AuthorizationStrategy
LIST, UNSECURED -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetACL(AbstractItem item) A plain instance of the parent strategy with every entry of this one: the uninstall path of the migration action (D-35a).Methods inherited from class hudson.security.ProjectMatrixAuthorizationStrategy
getACL, getGroupsMethods inherited from class hudson.security.GlobalMatrixAuthorizationStrategy
getEditingPermission, getGrantedPermissionEntries, recordGroupMethods inherited from class hudson.security.AuthorizationStrategy
all, getACL, getACL, getACL, getACL, getACL, getACLMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.jenkinsci.plugins.matrixauth.AuthorizationContainer
add, add, add, getAllPermissionEntries, getAllSIDs, getGrantedPermissions, hasExplicitPermission, hasExplicitPermission, hasPermission, hasPermissionMethods inherited from interface hudson.model.Describable
getDescriptor
-
Constructor Details
-
BatchControlMatrixAuthorizationStrategy
public BatchControlMatrixAuthorizationStrategy()
-
-
Method Details
-
getRootACL
- Overrides:
getRootACLin classGlobalMatrixAuthorizationStrategy
-
getACL
- Overrides:
getACLin classProjectMatrixAuthorizationStrategy
-
getACL
- Overrides:
getACLin classProjectMatrixAuthorizationStrategy
-
getACL
- Overrides:
getACLin classProjectMatrixAuthorizationStrategy
-
toPlainStrategy
Description copied from interface:GrantLayeredStrategyA plain instance of the parent strategy with every entry of this one: the uninstall path of the migration action (D-35a). The returned strategy confers nothing through grants.- Specified by:
toPlainStrategyin interfaceGrantLayeredStrategy
-