2012-07-21 59 views
2

我有一個Backbone應用程序,用於處理公共和私人內容。如何保護Backbone.js

公共=>登錄,註冊,新聞等

私人=>聊天,其他用戶特定的信息。

爲了保護整個應用程序,我在node.js中有一個基於會話的認證機制。這個機制保證了後端api的安全。現在的問題是我如何確保前端安全。

  1. 如何確保主幹航線
  2. 我怎麼能保證在骨幹模塊(requireJs)

我有一個想法是把前端分成公共和私營和服務器決定是否允許訪問私有資產。

還有哪些其他的前端安全概念?

爲了使它更具體: 我要檢查客戶端,如果用戶被授權,但我想限制裝載要求,JS模塊未經驗證的人(保存bandtwitch)

+0

我也想知道是否有一個javascript,jquery,骨幹函數,它檢查會話狀態,或者如果我必須實現一個自己的頂層事件處理程序,讓所有東西都保持在手中 – bodokaiser 2012-07-21 15:08:16

回答

1

您的服務器提供一個API來檢查當前用戶(可能通過他們的cookie)是否通過了認證。

在主幹網中,在您的路由/導航中,您可以檢查用戶是否已通過身份驗證,然後執行代碼(可能在身份驗證檢查後調用requireJS模塊)。

據我所知,沒有骨幹的東西具有用戶狀態的概念。你可以實現一個setTimeout循環來從你的服務器請求auth狀態,然後在其之上實現Backbone.Events,當用戶沒有驗證時發出一個事件,你的骨幹應用可以監聽這些事件,然後觸發渲染登錄視圖,或將用戶路由到登錄頁面。

我主要是爲我的後端用戶couchdb,它有一個$ .couch.session函數可以讓我知道當前用戶的身份驗證狀態。你很可能需要實現你自己的會話函數,並將其掛接到後端框架中。

+0

總結:安全的API或/和Auth2O),requireJs模塊,它保持websocket /長輪詢連接到服務器vor認證/授權檢查和靜態資產服務器,這也需要認證(好吧,如果所有模塊已經加載,這將不會工作.. 。) – bodokaiser 2012-07-22 07:17:15