Azure移动服务Custom API对多个GET操作的不同权限

时间:2015-04-09 14:54:50

标签: azure azure-mobile-services

我正在使用带有Node后端的Azure移动服务。我创建了一个名为“Department”的Custom API,其中包含两个get方法。部门API的代码如下 -

 var util = require('util');
  var config = require('mobileservice-config');
  var databaseSchema = config.appSettings.DATABASE_SCHEMA;

  exports.register = function (api) {    
    api.get('getDepartment', getDepartment);
     api.get('getAllDepartment', getAllDepartment);

}

以下是department.json权限文件的代码 -

{
"routes":{
"*":{
"get":{
"permission":"user"
},
"post":{
"permission":"application"
},
"put":{
"permission":"application"
},
"patch":{
"permission":"application"
},
"delete":{
"permission":"application"
}
}
}
}

我希望所有拥有应用程序密钥的用户都可以访问我的路径“department / getAllDepartment”。但我只想验证用户应该能够访问我的另一条路线,即“department / getDepartment”。

我做了一些研究,找到了解释here的解决方案。我试过这个解决方案,但它对我不起作用。

有人可以告诉我如何才能让它发挥作用?

以下是我在参考上述链接后尝试的“department.json”权限文件的代码。

{
"routes":{
"/":{"permission":"application"},
"/department/getDepartment":{
"permission":"user"
},
"/ department /getAllDepartment":{
"permission":"application"
},
"post":{
"permission":"application"
},
"put":{
"permission":"application"
},
"patch":{
"permission":"application"
},
"delete":{
"permission":"application"
}

}

1 个答案:

答案 0 :(得分:2)

我不相信你应该在你的json中重复基本api路径(部门)。它应该只是:

{
    "routes": {
        "/": {
            "permission" : "application"
        },
        "/getDepartment" : {
            "permission" : "user"
        },
        "/getAllDepartments" : {
            "permission":"application"
        }
    }
}