2014-09-25 48 views
0

我的應用中的某些狀態需要進一步的身份驗證。例如編輯狀態應該提示用戶輸入一次性密碼。

我很高興能夠水平解決此問題:將元數據附加到需要額外身份驗證的狀態(即state.requiresExtraAuth:true),並在狀態更改事件上插入一些模態邏輯。注:我所追求的是狀態確實加載並且用戶可以看到它,但是模式禁止用戶繼續輸入密碼。

我試着添加一個'onEnter'屬性到我在事件監聽器函數中獲取的toState對象參數中,但它沒有工作:)。

是這樣的可能/你會怎麼去設計這個用例呢?

+0

也許[this](http://stackoverflow.com/a/25197497/1679310)或[that](http://stackoverflow.com/a/24725180/1679310)可以幫助... – 2014-09-25 10:05:29

+0

編輯我的問題更具體一點:我所追求的是狀態確實加載並且用戶可以看到它,但是一種模式禁止用戶繼續而不輸入密碼 – 2014-09-25 12:07:39

回答

0

run你申請的方法。

add.run(function($rootScope, $state, $modal){ 
    $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams){ 
     if(toState.name != 'app.home') { 
      $state.go('app.login'); 
      // or open modal 
      $modal.open({...}); 
     } 
    }); 
}); 

這個事件將幫助你檢查什麼狀態的用戶嘗試訪問並重定向到登錄表單,如果需要的話。