Asp.net IIS窗口和匿名身份验证

Asp.net IIS窗口和匿名身份验证,asp.net,asp.net-core,authentication,iis,windows-authentication,Asp.net,Asp.net Core,Authentication,Iis,Windows Authentication,我有一个Asp核心页在IIS服务器上运行。到目前为止,我使用Windows身份验证(NTLM)对用户进行身份验证。现在我想使用该网站的一部分作为Android应用程序的Api。此部分需要匿名身份验证,但如果我为整个站点启用此身份验证,Windows用户将不再需要其凭据。 是否有办法仅对某些页面启用匿名身份验证,分别对站点结构中的路径启用匿名身份验证?我通过将[Authorize]置于需要对用户进行身份验证的控制器方法之上来实现这一点。没有标签的不需要身份验证,并且可以很好地与IIS匿名访问配合使

我有一个Asp核心页在IIS服务器上运行。到目前为止,我使用Windows身份验证(NTLM)对用户进行身份验证。现在我想使用该网站的一部分作为Android应用程序的Api。此部分需要匿名身份验证,但如果我为整个站点启用此身份验证,Windows用户将不再需要其凭据。

是否有办法仅对某些页面启用匿名身份验证,分别对站点结构中的路径启用匿名身份验证?

我通过将[Authorize]置于需要对用户进行身份验证的控制器方法之上来实现这一点。没有标签的不需要身份验证,并且可以很好地与IIS匿名访问配合使用

注意:还有一个“AllowAnonymous”属性(src:)


注2:您可以自定义[Authorize]属性以使用所演示的特定身份验证方案。

这不起作用。服务器在应用程序进行自己的授权之前请求windows凭据。如果我在服务器上为整个站点启用匿名,并将标记放在特定页面上,它不会要求windows凭据,但也会阻止访问。在我这方面,它在IIS上同时启用匿名和windows身份验证。本文对此进行了详细描述:您可能缺少类似“services.AddAuthentication(IISDefaults.AuthenticationScheme);”之类的内容?在站点级别,它始终是匿名或Windows身份验证,您不能同时拥有这两种身份验证。为了节省您的时间,为您的Android客户端设置一个匿名站点。我很害怕这样做,但谢谢。