如何在 ASP.NET Core 2.1 中记录身份验证或授权事件?

bas*_*der 5 c# iis windows-authentication .net-core asp.net-core

在 IIS 上,我的 Web 应用程序响应 403 Forbidden。为了解决该问题,我想记录 Windows 身份验证的事件。

中的设置Startup.cs如下:

services.AddAuthentication(IISDefaults.AuthenticationScheme);

services.AddAuthorization(options =>
{
      options.AddPolicy("Editor", policy =>
      {
           var sid = "my-sid";
           policy.RequireRole(sid);
      });
});

services.AddMvc((options) =>
{
    var policy = new AuthorizationPolicyBuilder()
            .RequireAuthenticatedUser()
            .Build();
    options.Filters.Add(new AuthorizeFilter(policy));
});
Run Code Online (Sandbox Code Playgroud)

是否可以将任何事件侦听器或挂钩附加到身份验证或授权过程,以便我可以记录发生的情况?

我知道这是可能的JwtBearer middleware,请参阅如何在 .net core 中记录授权尝试