流星方法中间件授权

时间:2017-09-01 11:03:41

标签: javascript meteor

我想在Meteor 1.5方法中实现授权。 某些客户端将通过HTTP端点调用这些方法,而不是由应用程序本身调用。

授权需要处理不同的角色,例如管理员,主持人(因为我使用alanning:roles包)。 对于使用dispatch:run-as-user包授权HTTP请求。

通过检查当前用户是否具有调用该方法的适当角色,是否有适当的方法来实现某些对每种方法都相同的中间件?

或者是否有更好的方法来授权Meteor方法?

1 个答案:

答案 0 :(得分:0)

  

通过检查当前用户是否具有调用该方法的适当角色,是否有适当的方法来实现某些对每种方法都相同的中间件?

是的,有一种复杂的方法来声明允许此行为的方法。请参阅https://guide.meteor.com/methods.html

这将根据您的需求进行过度设计。通过在方法体内调用this.userId来使用用于授权方法内部调用的最佳中间件,并代表meteor Universe中最优雅的解决方案。像往常一样在每个方法体内使用alanning:roles。然后,实现:

  

客户端通过HTTP端点

使用cfs:http-methods这样的程序包来使用Accounts程序包进行授权。客户端HTTP调用期望?token查询参数,其值等于Accounts._storedLoginToken()