我创建了一个全新的Asp.Net Core 2.0 web mvc应用程序,启用了Windows身份验证。 如果我立即点击播放它会提示我输入用户凭据,这不是我想要的。如果我点击取消它然后重定向到401.2未经授权的错误屏幕,出现以下错误:
“由于无效,您无权查看此页面 身份验证标题。“
当我停止应用程序并在项目上启用匿名身份验证并再次点击播放时,它会成功运行应用程序,但不会显示我的用户名。 @User.Identity.Name
返回空字符串。
如何在能够显示我的用户名的同时绕过安全提示?
在.NET Framework中,我会在web.config文件中使用它以及匿名身份验证= true,它会以我想要的方式工作:
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
我正在使用Visual Studio 15.4.1。
答案 0 :(得分:0)
我认为<authentication>
标记与ASP.NET有关,而与IIS无关。在ASP.NET Core中, System.Web 管道不会运行。
通过web.config
<configuration>
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</configuration>
当您通过IIS管理器更改身份验证设置时,<system.webServer>
部分会被修改。
在Ben的第一次评论后编辑
抱歉,我误读了部分初始邮件,并认为您是在尝试在IIS中部署应用程序。
看起来Windows身份验证设置正确,因为系统会提示您输入凭据。我不明白的是你得到提示的原因。我正在使用IE11,Edge和Chrome,他们都知道如何在不提示我的情况下发送Windows凭据。
您在进行测试时使用的浏览器是什么?你可以试试我上面列出的吗?