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; }
//...
}
我有一个 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; }
//...
}