Package ubic.gemma.core.security.authorization.acl
@NonNullApi
package ubic.gemma.core.security.authorization.acl
-
ClassDescriptionGemma-specific extension points for
BaseAclAdvice: identifies User / UserGroup, supplies their granted authority, marks the entity types that should keep private ACLs on admin-driven creation, and runs the DEA → ExpressionAnalysisResultSet parent-ACL special case.Provide ACL-related metadata.Subclass this when filtering a collection based not on the security of the element itself but on the security of an associated parent domain object.Single-object after-invocation provider that evaluates ACLs on an associated (parent) domain object rather than on the returned object itself.Overrides the functionality of the spring-providedAclEntryAfterInvocationCollectionFilteringProviderto be more efficient with large collections by usingAclService.readAclsById(List, List)to bulk-fetch ACLs for every element of the returned collection in a single query.FilterCompositeSequencebased on the permissions of the associatedArrayDesign.Filter collections ofCompositeSequencebased on the permissions of the associatedArrayDesign(s).Filter collections ofDataVectorandDataVectorValueObjects based on the permissions of the associatedExpressionExperiment(s).Filter collections ofDifferentialExpressionAnalysisResultby theExpressionAnalysisResultSetthey belong to.Filter a collection ofSecurableso that only the entries the current user owns (or is an admin on) and can edit remain.Filter a collection ofSecurableto keep only entries that are not public AND that the current user can read (this includes data sets that are read-only-shared by another user).After-invocation provider for theAFTER_ACL_READ_QUIETconfig attribute: same ACL check as the stockAclEntryAfterInvocationProvider(READ or ADMINISTRATION on the returned single domain object), but denial is converted to anullreturn value rather than propagated.After-invocation provider that filters aStreamof domain objects, retaining only those for which the authenticated user holds one of therequirePermissiongrants.Gemma-owned after-invocation provider for theAFTER_ACL_VALUE_OBJECT_COLLECTION_READconfig attribute: bulk ACL check + per-rowSecureValueObjectsecurity-metadata population over a returned collection.Gemma-owned after-invocation provider for theAFTER_ACL_VALUE_OBJECT_MAP_READconfig attribute: bulk ACL check + per-keySecureValueObjectsecurity-metadata population over a returnedMapwhose keys areSecureValueObjects.Gemma-owned after-invocation provider for theAFTER_ACL_VALUE_OBJECT_READconfig attribute: single-object ACL check on aSecureValueObjectreturn value.Configuration for the ACL linter.Transaction boundary for the ACL linter's parent-linking repair.Lint and possibly fix ACL issues.Spring Security 6AuthorizationManageradapter that delegates to a legacyAccessDecisionVoterbound to a singleConfigAttributestring.WiresAclVoterAuthorizationManagerbeans, one per activeACL_SECURABLE_*config attribute, on top of the existing gsec voter beans.Strategy for locating parent ACL identities.Use domain-specific logic to resolve parent ACL identities.