ASP.NET Core MVC Interview Question #112
What are authorization requirements and handlers?
Authentication, Authorization, Security & State Management Mid-Level Intermediate
Quick Interview Answer
An authorization requirement represents a condition that must be satisfied, while an authorization handler contains logic that evaluates the requirement against the current user and optional resource.
Detailed Explanation
An authorization requirement represents a condition that must be satisfied, while an authorization handler contains logic that evaluates the requirement against the current user and optional resource.
Custom requirements are useful when authorization cannot be expressed cleanly with simple roles or claims, such as checking whether the current user owns a record or satisfies a domain-specific permission rule.
Code Example
public sealed class MinimumAgeRequirement
: IAuthorizationRequirement
{
public int Age { get; }
public MinimumAgeRequirement(int age)
=> Age = age;
}