1. A computer-implemented method comprising: receiving a request from a user to perform an action on a first object in a plurality of objects in a software application; accessing a predefined hierarchy of a plurality of different object definitions, wherein said first object is an instance of a first object definition in the predefined hierarchy; accessing user authorization data; determining permission of the user to perform said action; and granting the user permission to perform the action on said first object, wherein the permission is determined from the predefined hierarchy and the user authorization data, and wherein the user is granted permission to perform the action on said first object if the user authorization data grants the user permission to perform the action on the first object based on the first object definition and an associated second object, wherein the second object is an instance of a second object definition, and wherein said second object definition is an ancestor of said first object definition in the predefined hierarchy.