【问题标题】:Unable to debug 401 Unauthorized error in .Net 6 Web API无法调试 .Net 6 Web API 中的 401 Unauthorized 错误
【发布时间】:2022-08-09 23:22:23
【问题描述】:

此代码中已使用来自引用库的自定义授权.. 当我在 Visual Studio 上运行代码并从邮递员调用时,它可以正常工作并获得 200 OK,但是当我部署未经授权的 401 时。似乎是一个配置问题,但要获取 401 以外的任何细节,我正在苦苦挣扎做调试,有没有办法在.net中我们可以编写一些代码来捕捉我们得到401的原因。在我的情况下,代码甚至在401问题的情况下都没有达到断点,因为这个自定义授权过滤器是在动作调用之前执行的,所以不太确定该怎么做才能得到这个问题的实际原因..

  • 甚至在请求到达 Asp.Net Core 之前,某些代理可能会抛出 401。如果您确定您的 Asp.Net Core 应用程序抛出它,请尝试将请求的日志级别提高到“信息”并检查日志。 There 您可能会找到有关如何提高日志记录级别的信息
  • 嗨 GoodBoy,感谢您的回复,我试过了,但没有运气。
  • 调试不多,401 是未经授权的,您的身份验证流程不起作用
  • 谢谢大家,是的,现在已经解决了。实际上,在身份验证期间,代码中编写了一个比较两个 URL 的逻辑,导致问题的 URL 之间存在不匹配...

标签: c# webapi unauthorized


【解决方案1】:

尝试使用 ShowPII

var app = builder.Build();

// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
    app.UseSwagger();
    app.UseSwaggerUI();
    IdentityModelEventSource.ShowPII = true;
}

app.UseHttpsRedirection();

app.UseAuthorization();

app.MapControllers();

app.Run();

【讨论】:

    猜你喜欢
    • 2017-05-14
    • 1970-01-01
    • 2016-02-02
    • 2020-07-02
    • 2016-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-10
    相关资源
    最近更新 更多