Simplest way is to add Authorize
attribute in the filter config to apply it to every controller.
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
//Add this line
filters.Add(new AuthorizeAttribute());
}
}
Another way is to have all of your controllers inheriting from a base class. This is something I do often as there is almost always some shared code that all of my controllers can use:
[Authorize]
public abstract class BaseSecuredController : Controller
{
//Various methods can go here
}
And now instead of inheriting from Controller
, all of your controllers should inherit this new class:
public class MySecureController : BaseSecuredController
{
}
Note: Don't forget to add AllowAnonymous
attribute when you need it to be accessible to non-logged in users.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…