<ul>
        <li>
        Batch authorization queries whenever possible to avoid frequent out-of-process
        round trips. For example, retrieve roles for multiple users in a single request.
        </li><li>
        Cache the authorization data close to where you will use it with an in-memory
        store, such as a Hashtable. The cache also reduces dependencies on the location
        and organization of the underlying store. You might also want a separate cache
        for each physical computer, for performance and increased security.
        </li><li>
        Implement scheduled or on-demand refreshes of the cache information.
        </li><li>
        Implement lazy initialization of the authorization cache to avoid retrieving
        authorization information when no access checks will occur.
        </li>
        </ul>