我正在开发一个ASP.net Web API应用程序,并且希望允许多个用户访问自己的数据,而不会过多地更改数据库架构。
我的表看起来有点像这样:
public class Asset
{
public string Name { get; set; }
[Required]
public int Id { get; set; }
public string AssetTag { get; set; }
public string Serial { get; set; }
public int Model { get; set; }
}
public class Organisation
{
[Required]
public int Id { get; set; }
[Required]
public int DefaultLocation { get; set; }
public location Location { get; set; }
public string Name { get; set; }
public string Phone { get; set; }
public string Contact { get; set; }
}
public class AssetModel
{
public string Name { get; set; }
[Required]
public int Id { get; set; }
public int CategoryId { get; set; }
public int ManufacturerId { get; set; }
public string ModelNumber { get; set; }
}
为简洁省略了*字段
每个用户都应该能够创建自己的资产/组织/等,但不应该访问任何其他用户字段。
我还没有添加授权/身份验证,但我可能会使用基于令牌的身份验证,如下所示: http://bitoftech.net/2014/06/09/angularjs-token-authentication-using-asp-net-web-api-2-owin-asp-net-identity/
这是否应该像将每个用户GUID添加到每个列并应用一些逻辑一样简单?或者我需要完全重新设计数据库吗?