2012-06-25 163 views
2

我正在開發一個Backbone應用程序,它應該爲多個用戶提供服務。如何通過Backbone識別用戶?

我使用Spring,它是後端的安全模塊,它使用基本身份驗證來允許訪問每個url模式。

所以假設有兩個用戶Jack和Joe以及一個名爲「item」的資源。由於http身份驗證,兩個人都不能看到彼此的項目。假設URL的是:

  • /用戶/傑克/項目
  • /用戶/約翰/項目

如何識別骨幹用戶?有沒有一些聰明的方法來做到這一點,或者我應該從http頭中選擇用戶名並將其注入到url中?

回答

1

在sync()過程中,骨幹本身使用ID進行REST調用。現在您需要做的就是給自定義網址,型號:

var Item = Backbone.Model.extend({ 
    url: function() { 
    return '/users/'+this.get('name')+'/item'; 
    } 
}); 

雖然在這種情況下,你必須已經擁有的用戶模型加載之前,你可以在它調用同步(),例如通過從像/ users /這樣的URL中通過Collection添加它們。

+1

在['encodeURIComponent'](https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/encodeURIComponent)調用中包裝名稱是個好主意。 –

+0

好趕上@ muistooshort –