You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: aspnetcore/security/authentication/windowsauth.md
+86-3Lines changed: 86 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,8 +5,9 @@ description: Learn how to configure Windows Authentication in ASP.NET Core for I
5
5
monikerRange: '>= aspnetcore-3.1'
6
6
ms.author: wpickett
7
7
ms.custom: mvc
8
-
ms.date: 11/15/2021
8
+
ms.date: 08/10/2025
9
9
uid: security/authentication/windowsauth
10
+
ms.ai: assisted
10
11
---
11
12
# Configure Windows Authentication in ASP.NET Core
12
13
@@ -18,8 +19,49 @@ Windows Authentication (also known as Negotiate, Kerberos, or NTLM authenticatio
18
19
19
20
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.
20
21
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
+
21
36
> [!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
23
65
24
66
## Proxy and load balancer scenarios
25
67
@@ -267,8 +309,49 @@ Windows Authentication (also known as Negotiate, Kerberos, or NTLM authenticatio
267
309
268
310
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.
269
311
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
+
270
326
> [!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
0 commit comments