2015-04-08 58 views
0

我工作的一個angularJS +的NodeJS/expressjs應用。AngularJS + expressJS - 單頁應用+注入模板動態

當用戶訪問應用程序的URL時,我想檢查用戶是否已經登錄,如果有,請向他展示應用程序的主頁 否則,將用戶重定向到應用程序的登錄頁面。

者主頁我的意思是這是基於用戶角色的頁面。所以,這將根據數據庫中的值來確定。

我認爲我們有一個完整的HTML頁面(index.html的),這將與其他部分頁一起發送到瀏覽器。 因此,當用戶訪問主頁時未登錄,我需要將partial-login.html注入index.html並顯示用戶登錄頁面。 如果登錄成功,再次將homepage.html注入index.html。 如果用戶已經登錄,那麼在index.html中注入partial-homepage.html並向用戶顯示該頁面。

在expressJS路線我有一個「/」來index.html的返回路線。但是,不知道如何根據上述情況注入不同的部分。有人可以幫助我做到這一點。

+0

ng-include需要參數化的html路徑..使用 – harishr

回答

0

您需要使用會話中間件。

https://github.com/expressjs/session

當用戶登錄時,存放他的名字在會話變量,當用戶打開你的網站再次檢查變量是否值分配或not.If不意味着用戶已註銷,需要登錄和渲染他是登錄頁面。

而且,不要忘記 破壞會話時,用戶點擊註銷

如果使用的是玉器,使用的if/else條件吧。當您檢查,如果用戶對服務器端的會話令牌,然後發送變量的值作爲真實的在render..else假玉模板,並相應地顯示在登錄頁面(else條件內放置登錄表單模板中的)

+0

感謝您的回覆。我知道使用會話變量。我的問題是,因爲它是一個單一頁面的應用程序,我們需要將登錄頁面作爲其中一個部分注入主html頁面。這部分是我不清楚的。 – javauser