【发布时间】:2020-12-09 03:28:47
【问题描述】:
我的 .Net Core 3.1 Web API 服务可以使用两种不同类型的 JWT 进行身份验证。
我的控制器的服务操作有时需要一个或两个都存在。有时任何人都可以调用它们(没有任何 JWT)。
我可以看到我可以应用于我的控制器中的服务操作的唯一属性是Authorize 属性。我已经研究过使用该属性(或自定义属性),但我遇到了问题。
Authorize 属性似乎无法更改返回的 HTTP 状态码。就我而言,如果在没有有效 JWT 的情况下调用我的服务,我需要返回 401 Http 状态码。
如何有条件地要求我的控制器中的服务操作要求身份验证并返回 401?
【问题讨论】:
标签: security asp.net-core authentication asp.net-core-webapi asp.net-core-3.1