我想在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()
。