Interface QueryAccess

All Superinterfaces:
SecurityFilters
All Known Implementing Classes:
PlatformQueryAccess

public interface QueryAccess extends SecurityFilters
What a query may read: the models and fields its analysis checks, and the row predicates its rendering weaves into the root, every join and every subquery.

PlatformQueryAccess is the platform's own permissions. A caller holding a query to further rules passes its own implementation, which narrows the platform's.

  • Method Details

    • checkModelRead

      void checkModelRead(ResolvedModel model, String target)
      Refuses reading model.
      Parameters:
      target - how a refusal names what the query reads
      Throws:
      org.apache.shiro.authz.UnauthorizedException - when the model may not be read
    • checkFieldRead

      void checkFieldRead(ResolvedModel model, String path, String label)
      Refuses reading path on model, and every model the path passes through.
      Parameters:
      label - how a refusal names the part of the query that reads it
      Throws:
      org.apache.shiro.authz.UnauthorizedException - when a field or model may not be read
      IllegalArgumentException - when the path names no field, for an access that checks fields at all: PlatformQueryAccess checks nothing in a trusted context (no user)