1. A method of processing authorization requests, wherein an authorization request received from a user system is a request to allow that user access to a resource to perform an action on that resource, the method comprising: prior to receipt of the authorization request from the user system, generating a plurality of role bit arrays for a plurality of roles, where a role bit array indicates which actions are allowed with which resources for that role; upon receipt of the authorization request, determining if a user bit array exists, wherein a user bit array is a bit array indicating, for the user associated with the user bit array, which actions are allowed with which resources; if the user bit array does not exist, generating the user bit array from at least role bit arrays for roles associated with the user; if the user bit array is generated, at least temporarily storing the generated user bit array for use with subsequent requests from that user; applying rules to at least one bit of the user bit array where the rules are not entirely encoded in the user bit array or the role bit arrays used to determine the user bit array; identifying an authorization flag at an index in the user bit array corresponding to the requested resource and the requested action; and responding to the authorization request by either allowing the access or denying the access, based on the identified authorization flag.