REST API - 如何按角色限制对资源的访问?

REST API - How to restrict access to resources by role?

假设我正在为 FooBar 公司创建一个销售管理工具。

FooBar 有一个客户列表,分为四个不同的区域。北、南、东、西。

每个地区的销售经理应该能够访问他们自己特定地区的客户,但不能访问其他地区的客户。还有一个全国销售经理可以访问所有客户。

公开客户资源的最佳方式是什么?拥有一个 /api/customers 的单一访问点是否合适,该访问点只有 return 经理有权访问的客户?根据请求者的不同,一个 URI return 完全不同的数据集是否正常?

/api/region/customers 方法似乎是错误的,因为区域可能会发生变化,客户可以在区域之间移动,并且需要多次请求才能获得国家主管的主列表。

是否有我所描述的模式名称?我试过搜索,但我肯定没有使用正确的名称。

由于/api/customers的请求对于不同的用户会有所不同(Cookie header 会有所不同,如果您使用cookies 进行会话处理),return 不同的数据是完全可以的。