gpt4 book ai didi

c# - Windows 身份验证 .Net Core 2.0 在没有安全提示的情况下显示用户名

转载 作者:太空宇宙 更新时间:2023-11-03 14:59:27 25 4
gpt4 key购买 nike

我创建了一个启用了 Windows 身份验证的全新 Asp.Net Core 2.0 Web MVC 应用程序。如果我立即点击播放,它会提示我输入用户凭据,这不是我想要的。如果我点击取消,它会将我重定向到 401.2 未经授权的错误屏幕,并显示以下错误:

"You are not authorized to view this page due to invalid authentication headers."

然后当我停止应用程序并在项目上启用匿名身份验证并再次点击播放时,它会成功运行应用程序但不会显示我的用户名。 @User.Identity.Name 返回空字符串。

如何在仍然能够显示我的用户名的同时绕过安全提示?

在 .NET Framework 中,我会在 web.config 文件中使用它以及匿名身份验证 = true,它会按照我想要的方式工作:

<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>

我正在使用 Visual Studio 15.4.1。

最佳答案

我认为 <authentication>标记与 ASP.NET 相关,与 IIS 无关。在 ASP.NET Core 中,System.Web 管道不运行。

通过在 web.config 中使用以下配置,我已经成功地通过 ASP.NET Core 实现了 Windows 身份验证。

<configuration>
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</configuration>

<system.webServer>当您通过 IIS 管理器更改身份验证设置时,部分会被修改。


在 Ben 发表第一条评论后进行编辑

抱歉,我误读了您最初消息的一部分,并认为您正试图在 IIS 中部署您的应用程序。

看起来 Windows 身份验证设置正确,因为系统会提示您输入凭据。我不明白的是为什么你会收到提示。我正在使用 IE11、Edge 和 Chrome,它们都知道如何在不提示我的情况下发送 Windows 凭据。

您在进行测试时使用的是什么浏览器?你能试试我上面列出的那些吗?

关于c# - Windows 身份验证 .Net Core 2.0 在没有安全提示的情况下显示用户名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46934997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com