ASP.NET Core Interview Question #150
What are key security best practices for ASP.NET Core applications?
Authentication, Authorization & Security Mid-Level Intermediate
Quick Interview Answer
Use HTTPS, secure authentication mechanisms, explicit authorization policies, least privilege, anti-forgery protection for applicable browser requests, and parameterized database access. Treat all external input as untrusted and rely on context-appropriate output encoding.
Detailed Explanation
Use HTTPS, secure authentication mechanisms, explicit authorization policies, least privilege, anti-forgery protection for applicable browser requests, and parameterized database access. Treat all external input as untrusted and rely on context-appropriate output encoding.
Keep framework and package dependencies patched, protect secrets outside source control, avoid exposing detailed production errors, log security-relevant events without logging secrets, and configure cookies, CORS, forwarded headers, and data protection correctly for the deployment architecture.
Security is layered: no single feature replaces secure coding, secure configuration, infrastructure controls, monitoring, and regular review.
Code Example
if (!app.Environment.IsDevelopment())
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();