如何在WebAPI中限制对DB资源的访问

How to restrict the access to DB resources in WebAPI

我正在制作 WebAPI 服务。我刚刚使用了带有身份验证的 ASP.NET WebAPI 模板。我想知道我们如何限制那些已经登录的用户访问数据库实体。使用 [Authorize] 我们可以限制未经授权的用户,我已经做到了。登录后,他们现在可以访问任何内容。例如:我有一张 table 账单。通过 BillId,获得授权的用户可以访问 Bill table 中的任何条目。如何限制这个?目前 Bill table 与 UserIdentity tables 没有关系!!

经过思考场景,我有一个解决方案[不确定最好的]。在我所有的控制器中,我可以获得 Userid [经过身份验证的用户的 ID]。当用户向任何实体添加数据时,我会将 userid 作为列添加到该实体并存储 userid。当任何用户查找资源时,他只会得到属于他的 Userid 的资源。我没有给出与任何用户 table 的任何关系,只是将用户 ID 作为新列添加到所有实体。