在 IIS 上使用 .NET 6 进行自动 Windows 身份验证

问题描述 投票:0回答:0

我有一个 ASP.NET Core 6 MVC web 应用程序,后来我使用 this 微软文档中的指南添加了 Windows 身份验证。

在我的本地环境中运行应用程序就像一个魅力 - 我能够在不提示输入凭据的情况下进行身份验证,并且我可以使用授权来保护操作和/或控制器本身。

但是,在将站点发布到 Web 服务器后,系统会提示我输入我的域凭据。如果我输入我的凭据,我将通过身份验证并且一切正常。

指南说:

IIS 集成中间件默认配置为自动验证请求。

但是在我的经验中好像不是这样的。相关链接也已损坏,因为它没有转到正确的位置。

据我了解,只要客户端和服务器在同一个域中,用户就应该自动进行身份验证。我已经通过运行以下命令验证了我的计算机和服务器都在同一个域中:

systeminfo | findstr /B "Domain"

Web 服务器还将“用户身份验证”设置为“仅在 Intranet 区域自动登录”。

我最好的猜测是问题是我在 IIS 中设置的绑定。我正在使用 IP 地址,因此我可以同时从我的本地浏览器访问该站点以供一些用户测试。网站上线后,系统会停止提示我吗?还是有额外的设置?

谢谢!

一些关键细节:

  • ASP.NET Core 6 MVC 内联网 Web 应用程序
  • 稍后使用 Microsoft guide
  • 添加 Windows 身份验证
  • Windows Server 2019 标准版 x64
  • PC和服务器在同一个域
  • Windows 身份验证安装在服务器上并在 IIS 站点上启用
  • Site binding = HTTP, server ip address, & port 8080 e.g. http://127.0.0.1:8080
  • 服务器上的 Internet 选项:仅在 Intranet 区域中将用户身份验证设置为自动登录
  • 本地 Internet 选项:由管理员设置。在我得到帮助台的回复之前,无法确认它当前的设置。
c# asp.net-mvc asp.net-core windows-authentication iis-10
© www.soinside.com 2019 - 2024. All rights reserved.