首页 > 解决方案 > IIS Windows 和匿名身份验证

问题描述

我有一个在 IIS 服务器上运行的 Asp Core 页面。到目前为止,我使用 Windows 身份验证 (NTLM) 对用户进行身份验证。现在我想将网站的一部分用作 Android 应用程序的 Api。这部分需要匿名身份验证,但如果我为整个站点启用它,Windows 用户将不再被要求提供他们的凭据。
有没有办法只为某些页面启用匿名身份验证,分别为站点结构中的路径?

标签: asp.netasp.net-coreauthenticationiiswindows-authentication

解决方案


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

注意:还有一个“AllowAnonymous”属性(src:https ://docs.microsoft.com/en-us/aspnet/core/security/authorization/introduction?view=aspnetcore-3.1#namespaces )

注意 2:您可以自定义 [Authorize] 属性以使用特定的身份验证方案,如此处所示


推荐阅读