我有一个特定的 REST 端点,可以在论坛中创建一个主题;但我想在处理请求时应用不同的策略。例如,如果客户 A 拨打电话,请执行审核。如果客户 B 拨打电话,请执行其他操作。最简单的方法是添加查询参数以进行区分:
POST /resource?from=xyz
另一个绝妙的想法是使用 Vary HTTP 标头。
POST /resource
Vary: xyz
这种方法有什么问题吗?
我有一个特定的 REST 端点,可以在论坛中创建一个主题;但我想在处理请求时应用不同的策略。例如,如果客户 A 拨打电话,请执行审核。如果客户 B 拨打电话,请执行其他操作。最简单的方法是添加查询参数以进行区分:
POST /resource?from=xyz
另一个绝妙的想法是使用 Vary HTTP 标头。
POST /resource
Vary: xyz
这种方法有什么问题吗?
好吧,首先,“Vary”是一个响应标头,所以这不是那么出色:-)
如果这是出于安全原因,这是非常糟糕的安全性。相反,使用标准HTTP 身份验证(或您的自定义身份验证方案)将凭据传递到后端,并且只有在那里,基于凭据/角色执行所需的任何审核/审核。