2015-05-09 48 views
0

在最近幾天,我閱讀了很多關於Angular UI-Router授權的內容。但有些東西對我來說並不明確:Angular.js SPA:用戶界面路由器授權與PHP驗證

爲什麼我不應該將一個php文件(index.php)作爲一個SPA來執行,它會執行認證本身。這意味着執行文件時,腳本會在數據庫中查找用戶是否登錄。然後我寫一個$ _SESSION。 隨着網站上的每一個動作(獲取或存儲任何數據),腳本都會檢查用戶是否有權使用該功能。如果不是這種情況,用戶必須重新登錄。

這個想法有什麼問題,因爲我認爲在JS網站上登錄是不安全的?

回答

0

當您不想在不同的服務器上擴展您的應用程序時,這是默認的思考方式。爲了它,它會保持簡單。

僅當您必須在多個Web服務器之間擴展應用程序(使用負載均衡器)或者在某個地方使用了REST API時(您需要使用其他輔助功能)。

0

正如前面的回答所述:問題在於有狀態會話的可伸縮性。

這也意味着您的服務器必須在您的Angular應用程序加載之前呈現響應。這可以防止您創建「編譯」或「靜態」Angular應用程序,如果自上次使用該應用程序以來沒有更改過,它可以從瀏覽器的HTTP緩存中快速提供。

替代方案?令牌身份驗證,它使用無狀態的自簽名令牌來從您的前端向您的後端發送非常API請求。我在這裏寫了關於他們:Token Based Authentication for Single Page Apps (SPAs)