.net core .net核心web api jwt

.net core .net核心web api jwt,.net-core,jwt,.net Core,Jwt,我有一个web api项目,其中: 某些控制器操作需要JWT身份验证 有些不需要JWT身份验证 根据提供的JWT的有效性,有些返回不同的数据,其中数据仅在一个字段的值上不同 第一个很简单,因为JWT身份验证中间件将处理它,但如何实现其他两个呢。将[AllowAnonymous]属性添加到端点或控制器以关闭该端点/控制器的身份验证 3) 。您需要检查用户声明(前提是您已在其中添加了不同的权限),并根据这些值将逻辑应用于返回值。如果您这样返回IHttpActionResult,则可以根据逻辑动态更改

我有一个web api项目,其中:

  • 某些控制器操作需要JWT身份验证
  • 有些不需要JWT身份验证
  • 根据提供的JWT的有效性,有些返回不同的数据,其中数据仅在一个字段的值上不同
  • 第一个很简单,因为JWT身份验证中间件将处理它,但如何实现其他两个呢。将[AllowAnonymous]属性添加到端点或控制器以关闭该端点/控制器的身份验证

    3) 。您需要检查用户声明(前提是您已在其中添加了不同的权限),并根据这些值将逻辑应用于返回值。如果您这样返回IHttpActionResult,则可以根据逻辑动态更改返回值

        public IHttpActionResult GetProduct(int id)
        {
            var product = products.FirstOrDefault((p) => p.Id == id);
            if (product == null)
            {
                return NotFound();
            }
            return Ok(product);
        }
    

    你在用MVC吗?