The permission system enforces inheritance by first checking if the user has a global permission, is a member of a group or a role that has a global permission and if not then checks to see if that user, a group or role to which he belongs, has been granted access to the specific object to which he is desiring to perform a given action that requires a permission. Only when these checks fails the user is forbidden to perform the action and a generic message indicating this is displayed to avoid providing any information that could be used to sidetrack the permission system or obtain any kind of information about the object from which the user was not allowed access.