java.lang.Object
org.openmetadata.schema.entity.policies.accessControl.Rule
org.openmetadata.service.security.policyevaluator.CompiledRule

public class CompiledRule extends Rule
This class is used in a single threaded model and hence does not have concurrency support
  • Constructor Details

    • CompiledRule

      public CompiledRule(Rule rule)
  • Method Details

    • parseExpression

      public static org.springframework.expression.Expression parseExpression(String condition)
    • validateExpression

      public static <T> void validateExpression(String condition, Class<T> clz)
      Used only for validating the expressions when new rule is created
    • getExpression

      public org.springframework.expression.Expression getExpression()
    • evaluateDenyRule

      public void evaluateDenyRule(OperationContext operationContext, SubjectContext subjectContext, ResourceContextInterface resourceContext, org.openmetadata.service.security.policyevaluator.SubjectContext.PolicyContext policyContext)
    • evaluateAllowRule

      public void evaluateAllowRule(OperationContext operationContext, SubjectContext subjectContext, ResourceContextInterface resourceContext, org.openmetadata.service.security.policyevaluator.SubjectContext.PolicyContext policyContext)
    • evaluatePermission

      public void evaluatePermission(Map<String,ResourcePermission> resourcePermissionMap, org.openmetadata.service.security.policyevaluator.SubjectContext.PolicyContext policyContext)
    • evaluatePermission

      public void evaluatePermission(String resource, ResourcePermission resourcePermission, org.openmetadata.service.security.policyevaluator.SubjectContext.PolicyContext policyContext)
    • evaluatePermission

      public void evaluatePermission(SubjectContext subjectContext, ResourceContextInterface resourceContext, ResourcePermission resourcePermission, org.openmetadata.service.security.policyevaluator.SubjectContext.PolicyContext policyContext)
    • matchResource

      protected boolean matchResource(String resource)
    • overrideAccess

      public static boolean overrideAccess(Permission.Access newAccess, Permission.Access currentAccess)