1. A method of controlling access to data stored in a data repository, comprising: receiving, from a requesting entity, an abstract query composed from a set of logical fields, wherein each logical field provides an access method that specifies at least a method for accessing the data and a security domain associated with the logical field, and for each logical field: generating a query contribution for retrieving query result data; modifying each query contribution to additionally retrieve security account information corresponding to query result data to be retrieved by the query contribution; retrieving the query result data using the modified query contribution for the logical field; and determining, using a programmed microprocessor whether the requesting entity is authorized to access the query result data by: identifying the requesting entity, determining whether the requesting entity has previously accessed data from the security domain associated with the logical, and if not, including an indication in a set of combined query results that data for the logical field is available for access, and otherwise, comparing the security account information associated with the query result data with a security account of data previously accessed by the requesting entity, and if the security accounts match, including the query result data in the combined query results; and combining the query result data into the set of combined query results; and returning an indication of the combined query results to the requesting entity.
2. The method of claim 1 , wherein security account information comprises information sufficient to identify a security account associated with the query results data retrievable using the logical field.