要跳过在ASP.NET Core中使用[AllowAnonymous]标记的身份验证,您可以使用自定义策略来实现。
首先,您需要创建一个自定义策略处理程序,它将检查是否存在[AllowAnonymous]特性并相应地更新策略要求。以下是一个示例:
using System;
using Microsoft.AspNetCore.Authorization;
public class AllowAnonymousAuthorizationHandler : AuthorizationHandler
{
    protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, AllowAnonymousAttribute requirement)
    {
        context.Succeed(requirement);
        return Task.CompletedTask;
    }
}
 然后,您需要在Startup.cs文件中注册此自定义策略处理程序。在ConfigureServices方法中添加以下代码:
services.AddScoped();
 最后,您可以在需要跳过身份验证的控制器或操作中使用[AllowAnonymous]特性。例如:
[AllowAnonymous]
public IActionResult PublicAction()
{
    // 执行一些公开的操作
    return View();
}
这样,当请求到达带有[AllowAnonymous]特性的操作时,自定义策略处理程序将跳过身份验证并允许访问。
请注意,如果您需要使用自定义授权策略来控制更复杂的访问控制,您可以根据需要修改自定义策略处理程序的逻辑。