API 用户帐户架构
API Architecture for User Accounts
我目前正在开发一个副项目,它将包括一个数据库、Web API,然后是使用 restful 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 关联的用户是 returned。但是,我不想 return 密码或盐,所以真的不希望它们成为用户模型的一部分。
我曾考虑过为 UserDetails 创建一个不同的、仅供内部使用的模型,并将 Password/Salt 等发送到其中。但是,我遇到了问题,在注册该服务时,如何从用户那里获得所需的密码 API?
对于我想做的事情,可能有一个非常简单的实现,但我现在想不出一个。任何帮助将不胜感激!
为此,您应该使用没有密码 属性 的特殊视图模型。然后在您的 API 中,您将在您的数据模型和视图模型之间进行映射,并且 return 从您的 Web API 方法中提取视图模型。 Salt
属性 也是如此。
我目前正在开发一个副项目,它将包括一个数据库、Web API,然后是使用 restful 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 关联的用户是 returned。但是,我不想 return 密码或盐,所以真的不希望它们成为用户模型的一部分。
我曾考虑过为 UserDetails 创建一个不同的、仅供内部使用的模型,并将 Password/Salt 等发送到其中。但是,我遇到了问题,在注册该服务时,如何从用户那里获得所需的密码 API?
对于我想做的事情,可能有一个非常简单的实现,但我现在想不出一个。任何帮助将不胜感激!
为此,您应该使用没有密码 属性 的特殊视图模型。然后在您的 API 中,您将在您的数据模型和视图模型之间进行映射,并且 return 从您的 Web API 方法中提取视图模型。 Salt
属性 也是如此。