An authorization handle is supported for each access policy determination
that is likely to be repeated. In particular, an authorization handle may
be assigned to access check results associated with the same
discretionary access control list and the same client context. This
likelihood may be determined based upon pre-set criteria for the
application or service, based on usage history and the like. Once an
access policy determination is assigned an authorization handle, the
static maximum allowed access is cached for that policy determination.
From access check to access check, the set of permissions desired by the
client may change, and dynamic factors that might affect the overall
privilege grant may also change; however, generally there is still a set
of policies that is unaffected by the changes and common across access
requests. The cached static maximum allowed access data is thus used to
provide efficient operations for the evaluation of common policy sets. In
systems having access policy evaluations that are repeated, authorization
policy evaluations are more efficient, computer resources are free for
other tasks, and performance improvements are observed.