【问题标题】:.net core web api jwt.net 核心 web api jwt
【发布时间】:2019-10-25 08:06:21
【问题描述】:

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

  1. 某些控制器操作需要 JWT 身份验证,
  2. 有些不需要 JWT 身份验证,
  3. 根据所提供的 JWT 的有效性,有些返回不同的数据,其中数据仅在一个字段的值上有所不同。

第一个很容易,因为 JWT 身份验证中间件会处理它,但我怎样才能实现其他 2 个?

【问题讨论】:

  • 你在使用 MVC 吗?

标签: .net-core jwt


【解决方案1】:

2)。将 [AllowAnonymous] 属性添加到端点或控制器以关闭该端点/控制器的身份验证。

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

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

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 2019-04-26
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 1970-01-01
    • 2022-01-06
    • 2020-08-24
    • 1970-01-01
    相关资源
    最近更新 更多