1. A method for determining authorization to operate on a file, the method comprising computer-implemented steps of: receiving a request, associated with a session, for an operation on the file; looking in one or more session caches that are associated with said session for an entry that contains permissions metadata for said file; wherein said one or more session caches store a first set of permissions metadata that has been modified within said session but has not yet been committed for a transaction to a repository; wherein said permissions metadata for said file includes information that specifies which users can perform which operations on said file; wherein one or more sets of permissions metadata in said one or more session caches are posted to one or more shared caches in response to committing said one or more sets of permissions metadata, said one or more shared caches having entries that are accessible to multiple sessions; if said entry is not in said one or more session caches, then performing the steps of: looking for said entry in said one or more shared caches; wherein said one or more shared caches store a second set of permissions metadata that has been committed to the repository; and if said entry is not in said one or more shared caches, then obtaining said permissions metadata for said file from the repository that is different than said one or more session caches and said one or more shared caches; and using said permissions metadata for said file to determine whether said operation may be performed on said file; wherein the steps of the method are performed by one or more computer systems.