Patent ID: 7693837

Claim:
A computer-implemented method for controlling an access to each data object in a data processing system, the method comprising: creating, in the data processing system, a plurality of access control sets that match a desired hierarchical access configuration, wherein every data object in the data processing system includes a reference to a set identifier of a particular access control set, and wherein each of the plurality of particular access control sets includes the set identifier that uniquely identifies the particular access control set within the data processing system, a specific access rule, a reference to an access control list, and a reference to one or more included access control sets; loading a program into a memory of a computer in the data processing system; and activating the program, wherein the program is adapted to cause the processor of the computer to control the access for each data object in the data processing system by performing steps comprising: responsive to receiving an access request for a particular data object, identifying the source of the request and retrieving the particular access control set associated with the set identifier of the data object; and responsive to retrieving the particular access control set, examining the particular access control set, and determining whether the specific access rule applies to the source, and when the specific access rule does not apply to the source, determining whether an access control list rule in the control list applies to the source, and when the access control list does not contain an access rule list rule that applies to the source, retrieving one of the one or more included access control sets, and iterating through each identified specific rule, each identified access control list, each included access control set until either an applicable rule is located for the source, wherein access is granted, or there are no more included access control sets, wherein access is denied; responsive to a change in the desired hierarchical user access configuration, creating a plurality of new access control sets to reflect the change in the desired hierarchical user access configuration; and associating the plurality of new access control sets with the plurality of access control sets in order to eliminate a need to explicitly propagate a plurality of users and a plurality of access controls up and down the desired hierarchical user access configuration.