使用 Windows 身份验证创建新的 ASP.NET Web 应用程序,描述仅显示“对于 Intranet 应用程序”。了解更多链接可访问以下网站:
描述如下:
Windows 身份验证
如果您选择 Windows 身份验证,示例应用程序将为 配置为使用 Windows 身份验证 IIS 模块 验证。该应用程序将显示域和用户 ID 登录的 Active Directory 或本地计算机帐户 Windows,但不包括用户注册或登录 UI。这个选项 适用于 Intranet 网站。
或者,您可以创建一个使用 AD 的 Intranet 站点 通过选择“组织”下的“本地”选项进行身份验证 账户。本地选项使用 Windows Identity Foundation (WIF) 而不是 Windows 身份验证模块。一些额外的 设置本地选项需要执行一些步骤,但 WIF 启用 Windows 身份验证无法使用的功能 模块。例如,使用 WIF,您可以在以下位置配置应用程序访问: Active Directory 和查询目录数据。
但是我不知道该解决方案是否使用
NTLM
或Kerberos
身份验证?还有什么方法可以在 IIS Express 中切换此功能吗?我尝试查看 Chrome 网络选项卡中的请求,但我没有从那里获得任何信息。
这有点难看,但是如果您阅读第一个响应
Authorization: Negotiate
标题,
YIGCBgYrBgEFBQKgeDB2oDAwLgYKKwYBBAGCNwICCgYJKoZIgvcSAQICBgkqhkiG9xIBAgIGCisGAQQBgjcCAh6iQg RATlRMTVNTUAABAAAAL7II4gkACQA3AAAADwAPACgAAAAKANc6AAAAD0RFU0tUT1AtSEFLR0xTQldPUktHUk9VUA==
转换为ASCII,如果包含
NTLMSSP
,则为NTLM。
像这样...
`?? + ?x0v?00.
+ ?7
*?H?? *?H??
+ ?7 ?B @NTLMSSP ?? ? 7 (
?: DESKTOP-HAKGLSBWORKGROUP
Kerberos 仅在客户端可以获得“票证”时才起作用,并且获得票证的两个主要要求是:
但是,您在本例中使用的主机名“localhost”并不是允许的 SPN,因为它实际上不是 DNS 主机名(它是由您的本地操作系统解释的名称)。同样,IP 地址不能有对应的 SPN。
简短回答:如果您使用“localhost”作为主机名,客户端将不会启动 Kerberos 并回退到 NTLM。
PS:如果您确实关心安全性,则必须使用 HTTPS(即使对于 Kerberos)。
我最终使用 Fiddler 来查看请求,从那里我可以看到它是
NTLM
,因为需要额外的往返来验证客户端。
我没有找到任何好方法来为 IIS Express 启用
Kerberos
,但使用普通 IIS,您可以按照此指南操作:
认证流程:
要求:
GET http://localhost:44388/ HTTP/1.1
Host: localhost:44388
Connection: keep-alive
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: sv-SE,sv;q=0.9,en-US;q=0.8,en;q=0.7
回应:
HTTP/1.1 401 Unauthorized
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/10.0
WWW-Authenticate: Negotiate
WWW-Authenticate: NTLM
X-Powered-By: ASP.NET
Date: Fri, 09 Feb 2018 21:26:40 GMT
Content-Length: 6137
Proxy-Support: Session-Based-Authentication
要求2:
GET http://localhost:44388/ HTTP/1.1
Host: localhost:44388
Connection: keep-alive
Authorization: Negotiate YIGCBgYrBgEFBQKgeDB2oDAwLgYKKwYBBAGCNwICCgYJKoZIgvcSAQICBgkqhkiG9xIBAgIGCisGAQQBgjcCAh6iQgRATlRMTVNTUAABAAAAl7II4gkACQA3AAAADwAPACgAAAAKANc6AAAAD0RFU0tUT1AtSEFLR0xTQldPUktHUk9VUA==
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: sv-SE,sv;q=0.9,en-US;q=0.8,en;q=0.7
回复2:
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
WWW-Authenticate: Negotiate oYIBCzCCAQegAwoBAaEMBgorBgEEAYI3AgIKooHxBIHuTlRMTVNTUAACAAAAHgAeADgAAAAVworiD/awyYeVbOYA0680pgIAAJgAmABWAAAACgDXOgAAAA9EAEUAUwBLAFQATwBQAC0ASABBAEsARwBMAFMAQgACAB4ARABFAFMASwBUAE8AUAAtAEgAQQBLAEcATABTAEIAAQAeAEQARQBTAEsAVABPAFAALQBIAEEASwBHAEwAUwBCAAQAHgBEAEUAUwBLAFQATwBQAC0ASABBAEsARwBMAFMAQgADAB4ARABFAFMASwBUAE8AUAAtAEgAQQBLAEcATABTAEIABwAIADPF56zsodMBAAAAAA==
Date: Fri, 09 Feb 2018 21:26:40 GMT
Content-Length: 341
Proxy-Support: Session-Based-Authentication
要求3:
GET http://localhost:44388/ HTTP/1.1
Host: localhost:44388
Connection: keep-alive
Authorization: Negotiate oXcwdaADCgEBoloEWE5UTE1TU1AAAwAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAAAAAAABYAAAAAAAAAFgAAAAAAAAAWAAAABXCiOIKANc6AAAAD2wKVsUToYhrt08pUPhmI2WjEgQQAQAAAGDLpB1QQ6YlAAAAAA==
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Accept-Encoding: gzip, deflate, br
Accept-Language: sv-SE,sv;q=0.9,en-US;q=0.8,en;q=0.7
回复3:
HTTP/1.1 200 OK
Cache-Control: private
Content-Type: text/html; charset=utf-8
Server: Microsoft-IIS/10.0
X-AspNetMvc-Version: 5.2
X-AspNet-Version: 4.0.30319
Persistent-Auth: true
X-Powered-By: ASP.NET
WWW-Authenticate: Negotiate oRswGaADCgEAoxIEEAEAAACHgwE6ErQtUAAAAAA=
Date: Fri, 09 Feb 2018 21:26:40 GMT
Content-Length: 397