假设我有一个数据库,其中存储了此结构的用户详细信息:
public class User
{
public string UserId { get; set; }
public string Name { get; set; }
public string Email { get; set; }
public string PasswordHash { get; set; }
}
我有一个数据访问层,它包含GetById()等方法,并返回一个User对象。
但是,假设我有一个API,它需要返回用户详细信息,但不是敏感部分,例如PasswordHash。我可以从数据库中获取用户,但随后我需要删除某些字段。什么是“正确”的方法?
我已经想到了几种方法来处理这个问题,其中大部分涉及将User类拆分为包含非敏感数据的BaseClass和包含我希望保密的属性的派生类,然后在返回之前将对象转换或映射到BaseClass,但是这感觉很笨拙和肮脏。
感觉这应该是一个相对常见的情况,所以我错过了一个简单的方法来处理它吗?我正在使用 ASP.Net 核心和MongoDB,但我想这更像是一个普遍的问题。
长风秋雁
Helenr
qq_笑_17
皈依舞
相关分类