簡體   English   中英

Ember.js身份驗證,pushstate和路由

[英]Ember.js authentication, pushstate and routing

我想知道是否有人對Ember.js有任何關於路由和pushstate的想法。

驗證的典型Ember示例是:

aStateManager = Em.StateManager.create({
    initialState: 'unauthenticated',
    authenticated: Em.State.create({}),
    unauthenticated: Em.State.create({
      authenticate: function(stateManager, context){
        stateManager.goToState('authenticated')
      }
    })
  })

  aStateManager.send('authenticate')

如果始終將用戶發送到根URL,這將起作用。 但是,如果用戶在地址欄中鍵入url(例如'/ api / resource / 1'),有什么方法可以判斷用戶是否在每個狀態中都經過身份驗證?

我想我要找的是像before_filter這樣的軌道。

有沒有人為這種常見情況提出解決方案?

我們將面臨任何類型的身份驗證的問題是,用戶可以完全訪問所有模型,並可以更改其中的數據並為自己提供以前沒有的權限。 每次聯系服務器都會很痛苦。

我能想到的一個解決方案是使用freezable mixin和對象的isDirty標志。 我們可以將用戶的權限作為DS模型(如果我們使用的是ember數據),然后將其定義為凍結。 現在我們創建一個權限檢查mixin,檢查模型是否臟(即它已被更改)。 並且還要尊重代碼的所有其他部分中的凍結狀態。

當然我沒有考慮過其他各種用例,但這應該是一個有價值的起點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM