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