Web Api - 如何防止用户访问其他用户数据

时间:2015-01-13 05:22:57

标签: authorization asp.net-web-api

我一直在研究有关网络API的身份验证和授权。我理解身份验证(用户名/密码)和基于ROLE的授权,但我感到困惑的是对数据的授权。

假设您有经过身份验证的用户(用户ID 1),管理员,并且与公司ABC相关联。我有与ABC关联的其他用户,用户ID 1可以更新。现在我想更新与ABC相关联的用户ID 2的名称(我也应该访问它)。我需要传递一些东西来识别用户2,即put / user / 2加上post数据。我知道在服务器端,允许用户1更新用户2,因为他已经过身份验证并且是管理员。

现在我有了与XYZ公司关联的用户100。用户100不应该更新用户2.这是我很难找到信息的。

有哪些方法/博客/任何可以提供有关如何防止用户100访问其公司外部数据的有用想法。

我的想法是,我可以将登录的用户ID(我根据身份验证获取服务器端)传递到更新存储过程中,并进行检查以确保用户ID与正在更新的用户相关联。对我来说,这似乎很乏味和丑陋,因为每个存储过程都需要一个用户id参数和一个检查,以确保他们可以访问他们正在访问的数据(也许这是正确的)。

我知道如何进行身份验证以及如何检查基于角色的授权,缺少的部分是基于资源的授权。

感谢您的帮助。

有没有人有任何见解。很难相信基于角色的授权就足够了。

0 个答案:

没有答案
相关问题