ASP.NET Core 3.1 Web API:如何使用模型保护敏感数据免受 return 影响?

ASP.NET Core 3.1 Web API: how to protect sensitive data from return with model?

我有一个 Posts 模型 class 与 Users 模型有关系。 当我调用 API 获取它的所有者(用户)Posts 时,它 returns 包含所有用户信息,包括密码。

如何防止模型返回密码等敏感信息?

您应该根据自己的操作 return 创建新的 类。仅包含您想要 return 的 fields/information。 这些 类 也称为数据传输对象 (DTO)。

您可以使用 [JsonIgnore] 来避免序列化 属性 值:

public class Users 
{
    public int Id { get; set; }
    [System.Text.Json.Serialization.JsonIgnore]
    public string Password{ get; set; }
    //...
}