【发布时间】:2014-09-10 22:45:04
【问题描述】:
我创建了一个用户角色,但现在无法使用 api 删除其中一个权限。我想阻止对资源的所有访问,所以我用一个空的 http 动词数组创建了它。这可以同时使用single 和multi 添加权限资源,像这样
POST /userroles/readonly/permissions" -d '{"path" : "/resource", "permissions" : []}' -H "Content-Type:application/json"
但是现在我想从我无法删除的角色中删除该权限,因为delete 在路径中采用 http 动词并且是强制性的,因为在我的情况下没有 http 动词,调用失败并且我无法删除。如果我有一个动词,那么它看起来像这样
DELETE "/userroles/readonly/permissions/get?path=/resource"
如果我在没有指定动词的情况下调用 api,它会失败并出现以下错误:
< HTTP/1.1 400 Bad Request
...
"code" : "security.QueryParamResourcePathCannotBeNull",
"message" : "Query parameter path cannot be null or empty",
"contexts" : [ ]
如果可以避免的话,我真的不想删除角色并重新创建它。
有什么想法吗?这似乎是权限系统中的一个设计缺陷。
谢谢!
【问题讨论】:
标签: apigee