我目前正在开发一个辅助项目,它将包含一个数据库,Web API,然后是顶部的不同应用程序,这些应用程序会使用这些API。
我开始考虑用户帐户以及如何使这些帐户安全。目前,作为标准,我在数据层中有以下模型:
public int Id { get; set; }
public string Username { get; set; }
public string Full_Name { get; set; }
public string Password { get; internal set; }
public string Salt { get; internal set; }
现在,显然,当有人向/ Users / {id}发出请求时,将返回与该ID相关联的用户。但是,我不想返回密码或Salt,所以真的不希望那些成为用户模型的一部分。
我已经玩弄了为UserDetails创建一个不同的,仅限内部的模型,并将密码/盐等运送到其中的想法。但是,当我注册该服务时,我如何从用户那里获得所需的密码到API?
对我想做的事情可能有一个非常简单的实现,但我现在想不到一个。任何帮助将不胜感激!
答案 0 :(得分:1)
为此,您应该使用不带密码属性的特殊视图模型。然后在API中,您将在数据模型和视图模型之间进行映射,并从Web API方法返回视图模型。同样适用于Salt
属性。