18. A system, comprising: a processor; and a memory containing a program, which when executed on the processor, performs an operation for controlling access to data stored in a data repository, the operation 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 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 field, 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.
18. A system, comprising: a processor; and a memory containing a program, which when executed on the processor, performs an operation for controlling access to data stored in a data repository, the operation 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 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 field, 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. 19. The system of claim 18 , wherein including an indication in the completed query results that data from the security domain is available for access comprises replacing the query results data a hyperlink that when clicked by the requesting entity accesses the requested data and returns the requested data to the user.