ASP.NET MVC 3 - Authorization of Windows users is slow, can we speed it up?
===

Our ASP.NET MVC 3 intranet application makes use of Windows user authentication, and also demands that users are in a certain role to access administrative sections (authorization). While all this works, we find that checking a user's role membership is really slow (~20 seconds). We use either the `User.IsInRole` method or `AuthorizeAttribute`. Even if we check against the local Administrators group ('BUILTIN\Administrators') instead of an AD group it's still as slow.

Now, is there some recommended scheme we may follow in order to speed up user authorization? Is it common for instance to cache a user's authorization status in a database? Is there, more fundamentally, something fishy going on since authorizing against a local group ('Administrators') is this slow?