這更多的是對模式和討論的請求,而不是一個簡單的一次性問題。我有一個骨幹應用程序,用戶可以成爲不同角色的一部分。該路線被定義爲平常:骨幹限制用戶在基於權限的應用中的路由
routes:
"": "showHomePage"
"import": "showImportPage"
我想import
頁是隻對特定用戶角色訪問。我想我可以這樣做:
showImportPage: ->
if not MyApp.CurrentUser.can_import
return
確實有效。當然,正如您可以想象的那樣,只需使用Chrome控制檯即可輕鬆利用此功能,即使我不在任何地方顯示鏈接,只需進入地址欄並輸入它即可。
即使上述應該足以阻止一個普通用戶,我的問題是:我怎樣才能確保從被訪問的路線?
我到目前爲止的意見是,唯一的方法是在服務該路由之前回溯到服務器,無論是通過檢查一個特殊的URL或通過在訪問之前重新獲取用戶模型...我有這個但是,如果每個url都必須由服務器進行身份驗證,並且我需要在允許用戶導航之前顯示通常的ajax微調,那麼這基本上會打破「單頁面應用程序」背後的整個想法的目的。 ..我知道數據量回來和前進是最小的(只有JSON用戶信息或更少),但仍然...
如果您曾經面對過這個問題,您的意見或解決方案是什麼?
我同意。我現在使用的解決方案是重新獲取用戶並最終重定向到主頁,但即使這種解決方案存在缺陷,只需通過簡單地插入斷點並更改結果即可解決問題......我開始認爲唯一的解決方案是真正在頁面呈現的位置從服務器獲取(最小)數據,並且在這種情況下返回有限的數據集或403錯誤... – Tallmaris