Roadmap › ASP.NET Core MVC (and Razor Pages) › Module: Filters, State and Security
Lessons in this course (15)

12. Authentication, authorisation and Identity

Intermediate★ Must knowLesson 12 of 15
csharp
builder.Services.AddDefaultIdentity<IdentityUser>(o => o.SignIn.RequireConfirmedAccount = true)
    .AddRoles<IdentityRole>()
    .AddEntityFrameworkStores<AppDbContext>();

builder.Services.AddAuthorization(o =>
{
    o.AddPolicy("CanApprove", p => p.RequireRole("Manager").RequireClaim("department", "Finance"));
    o.FallbackPolicy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();  // secure by default
});

[Authorize(Policy = "CanApprove")]
public class ApprovalsController : Controller
{
    [AllowAnonymous] public IActionResult About() => View();
}
  • Authentication = who you are (cookie, JWT, OpenID Connect with Microsoft Entra ID/Google). Authorisation = what you may do (roles, claims, policies, resource-based checks via IAuthorizationService).
  • MVC apps typically use cookie authentication; APIs use JWT bearer tokens.
  • Identity stores users, hashed passwords (PBKDF2), roles, claims, 2FA, lockout, external logins.