Authorization in ASP.NET Core : Simple, role, claims-based and custom