如果您可以帮助我解决以下问题,我将不胜感激:我正在限制使用组中APIM中使用API的访问权限,但是我想甚至限制其操作,例如:我有一个API APIM具有以下操作:
以及以下用户组:
因此,想法是根据某些业务规则授予对这些组的访问权限:
是否有实现此行为的方法?非常感谢
答案 0 :(得分:2)
仅可通过策略表达式来实现。使用选择策略并检查当前用户是(context.User.Groups)的成员的组,如果看不到所需的组,请使用return-response停止请求处理。
答案 1 :(得分:0)
在操作入站策略中,您可以添加以下内容:
<choose>
<when condition="@(context.User.Groups.Contains(g => g.name == "Group1"))">
<return-response>
<set-status code="403" reason="Unauthorized" />
<set-body>Users in group Group1 do not have access to this method. </set-body>
</return-response>
</when>
</choose>
这些是我参考以得出此结果的文档片段:
这将使所有属于Group1的用户都收到响应“ Group1中的用户无权使用此方法”。每当他们向该API操作发出请求时。如果将此添加到API的入站策略中,则Group1中的用户将无法调用该API中的任何操作。