ASP.NET Core MVC Interview Question #180
How would you secure an MVC Admin area?
Senior Practical MVC Scenarios & Production Architecture Senior Advanced
Quick Interview Answer
Protect the Admin area with server-side authorization policies or roles, not only navigation visibility or an /Admin URL. Apply authorization broadly at the area controller level or through conventions, then add more restrictive policies to sensitive operations.
Detailed Explanation
Protect the Admin area with server-side authorization policies or roles, not only navigation visibility or an /Admin URL. Apply authorization broadly at the area controller level or through conventions, then add more restrictive policies to sensitive operations.
Also use anti-forgery validation for browser-based state changes, strong authentication, least-privilege permissions, audit logging where appropriate, and secure production configuration.
Code Example
[Area("Admin")]
[Authorize(Policy = "AdminAccess")]
public class UsersController : Controller
{
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult Disable(string id)
{
return RedirectToAction(nameof(Index));
}
}