Skip to content

Commit 9937eb1

Browse files
add more clarity for when to choose windows authentication (#36199)
1 parent 8556ff5 commit 9937eb1

File tree

1 file changed

+86
-3
lines changed

1 file changed

+86
-3
lines changed

aspnetcore/security/authentication/windowsauth.md

Lines changed: 86 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ description: Learn how to configure Windows Authentication in ASP.NET Core for I
55
monikerRange: '>= aspnetcore-3.1'
66
ms.author: wpickett
77
ms.custom: mvc
8-
ms.date: 11/15/2021
8+
ms.date: 08/10/2025
99
uid: security/authentication/windowsauth
10+
ms.ai: assisted
1011
---
1112
# Configure Windows Authentication in ASP.NET Core
1213

@@ -18,8 +19,49 @@ Windows Authentication (also known as Negotiate, Kerberos, or NTLM authenticatio
1819

1920
Windows Authentication relies on the operating system to authenticate users of ASP.NET Core apps. Windows Authentication is used for servers that run on a corporate network using Active Directory domain identities or Windows accounts to identify users. Windows Authentication is best suited to intranet environments where users, client apps, and web servers belong to the same Windows domain.
2021

22+
## When to use Windows Authentication
23+
24+
Windows Authentication is suitable for web applications that operate within an organization's private internal network, accessible only to employees (and other authorized users) within the same network. The user management is done within Active Directory (AD), and users use their existing Windows domain account to authenticate.
25+
26+
Windows Authentication provides several benefits for intranet applications:
27+
28+
* **Seamless user experience** - Users are automatically authenticated based on their active Windows session, or are prompted to enter their Windows credentials via a standard browser dialog box.
29+
* **Integration with Active Directory** - Leverages existing Windows infrastructure and security policies, including user groups, account lockouts, and multi-factor authentication (MFA).
30+
* **Secure credential handling** - Authentication is handled through secure protocols like Kerberos, with no need to manage separate user credentials.
31+
* **Role-based authorization** - Applications can access user and group information from Active Directory, enabling role-based access control (RBAC) within the application.
32+
* **Reduced administrative overhead** - No need to maintain a separate user database or credential management system.
33+
34+
This makes Windows Authentication ideal for organizations that want to make use of their existing Windows infrastructure, such as intranet portals.
35+
2136
> [!NOTE]
22-
> Windows Authentication isn't supported with HTTP/2. Authentication challenges can be sent on HTTP/2 responses, but the client must downgrade to HTTP/1.1 before authenticating.
37+
> Windows Authentication isn't supported with HTTP/2. While authentication challenges can be sent over HTTP/2 responses, the client must downgrade to HTTP/1.1 to complete the authentication process. This is a protocol limitation, not a deprecation of Windows Authentication. Once authenticated, normal HTTP/2 communication can resume for subsequent requests.
38+
39+
For public-facing applications Windows Authentication isn't recommended due to security and usability concerns.
40+
These reasons include:
41+
* Windows Authentication is best kept internal to protect Active Directory, exposing it outside an internal network introduces security risks.
42+
* External users don't have Windows domain accounts.
43+
* It's complex to configure the necessary network infrastructure securely, and firewalls or proxies may interfere with the authentication process.
44+
* It's not cross-platform and doesn't provide customization options for designs and user experiences.
45+
46+
### Alternatives for different scenarios
47+
48+
Depending on your application requirements, consider these alternatives:
49+
50+
**For public-facing applications:**
51+
52+
* [OpenID Connect](xref:security/how-to-choose-identity) with external identity providers
53+
* ASP.NET Core Identity with local user accounts (<xref:security/authentication/identity>)
54+
* Azure Active Directory (AAD) for Microsoft 365 environments
55+
56+
**For mixed environments** with both intranet and external users:
57+
58+
* Active Directory Federation Services (ADFS) with OpenID Connect
59+
* Azure Active Directory with hybrid configuration
60+
61+
**For corporate environments using modern authentication:**
62+
63+
* Azure Active Directory with single sign-on
64+
* SAML-based solutions with third-party identity providers
2365

2466
## Proxy and load balancer scenarios
2567

@@ -267,8 +309,49 @@ Windows Authentication (also known as Negotiate, Kerberos, or NTLM authenticatio
267309

268310
Windows Authentication relies on the operating system to authenticate users of ASP.NET Core apps. You can use Windows Authentication when your server runs on a corporate network using Active Directory domain identities or Windows accounts to identify users. Windows Authentication is best suited to intranet environments where users, client apps, and web servers belong to the same Windows domain.
269311

312+
## When to use Windows Authentication
313+
314+
Windows Authentication is suitable for web applications that operate within an organization's private internal network, accessible only to employees (and other authorized users) within the same network. The user management is done within Active Directory (AD), and users use their existing Windows domain account to authenticate.
315+
316+
Windows Authentication provides several benefits for intranet applications:
317+
318+
* **Seamless user experience** - Users are automatically authenticated based on their active Windows session, or are prompted to enter their Windows credentials via a standard browser dialog box.
319+
* **Integration with Active Directory** - Leverages existing Windows infrastructure and security policies, including user groups, account lockouts, and multi-factor authentication (MFA).
320+
* **Secure credential handling** - Authentication is handled through secure protocols like Kerberos, with no need to manage separate user credentials.
321+
* **Role-based authorization** - Applications can access user and group information from Active Directory, enabling role-based access control (RBAC) within the application.
322+
* **Reduced administrative overhead** - No need to maintain a separate user database or credential management system.
323+
324+
This makes Windows Authentication ideal for organizations that want to make use of their existing Windows infrastructure, such as intranet portals.
325+
270326
> [!NOTE]
271-
> Windows Authentication isn't supported with HTTP/2. Authentication challenges can be sent on HTTP/2 responses, but the client must downgrade to HTTP/1.1 before authenticating.
327+
> Windows Authentication isn't supported with HTTP/2. While authentication challenges can be sent over HTTP/2 responses, the client must downgrade to HTTP/1.1 to complete the authentication process. This is a protocol limitation, not a deprecation of Windows Authentication. Once authenticated, normal HTTP/2 communication can resume for subsequent requests.
328+
329+
For public-facing applications Windows Authentication isn't recommended due to security and usability concerns.
330+
These reasons include:
331+
* Windows Authentication is best kept internal to protect Active Directory, exposing it outside an internal network introduces security risks.
332+
* External users don't have Windows domain accounts.
333+
* It's complex to configure the necessary network infrastructure securely, and firewalls or proxies may interfere with the authentication process.
334+
* It's not cross-platform and doesn't provide customization options for designs and user experiences.
335+
336+
### Alternatives for different scenarios
337+
338+
Depending on your application requirements, consider these alternatives:
339+
340+
**For public-facing applications:**
341+
342+
* [OpenID Connect](xref:security/how-to-choose-identity) with external identity providers
343+
* ASP.NET Core Identity with local user accounts (<xref:security/authentication/identity>)
344+
* Azure Active Directory (AAD) for Microsoft 365 environments
345+
346+
**For mixed environments** with both intranet and external users:
347+
348+
* Active Directory Federation Services (ADFS) with OpenID Connect
349+
* Azure Active Directory with hybrid configuration
350+
351+
**For corporate environments using modern authentication:**
352+
353+
* Azure Active Directory with single sign-on
354+
* SAML-based solutions with third-party identity providers
272355

273356
## Proxy and load balancer scenarios
274357

0 commit comments

Comments
 (0)