我想在Meteor 1.5方法中实现授权。 某些客户端将通过HTTP端点调用这些方法,而不是由应用程序本身调用。
授权需要处理不同的角色,例如管理员,主持人(因为我使用alanning:roles
包)。
对于使用dispatch:run-as-user
包授权HTTP请求。
通过检查当前用户是否具有调用该方法的适当角色,是否有适当的方法来实现某些对每种方法都相同的中间件?
或者是否有更好的方法来授权Meteor方法?
答案 0 :(得分:0)
通过检查当前用户是否具有调用该方法的适当角色,是否有适当的方法来实现某些对每种方法都相同的中间件?
是的,有一种复杂的方法来声明允许此行为的方法。请参阅https://guide.meteor.com/methods.html。
这将根据您的需求进行过度设计。通过在方法体内调用this.userId
来使用用于授权方法内部调用的最佳中间件,并代表meteor
Universe中最优雅的解决方案。像往常一样在每个方法体内使用alanning:roles
。然后,实现:
客户端通过HTTP端点
使用cfs:http-methods
这样的程序包来使用Accounts
程序包进行授权。客户端HTTP调用期望?token
查询参数,其值等于Accounts._storedLoginToken()
。