I know I can restrict the access to an ASP.NET MVC 3 application using the authorization tag in web.config
<authentication mode="Windows"></authentication> <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider" /> <authorization> <allow roles="MyDomain\MyGroup" /> <deny users="*" /> <deny users="?" /> </authorization>
or decorating the controller base class with an [Authorize()] attribute (or even with a custom Authorize attribute)
[AdminOnly]
public class BaseController : Controller{}
The question is: are they alternative and equivalent approaches? Should I always use one approach rather than the other? Which elements should I keep in mind?