我有一個非角度登錄頁面的angularjs應用程序。所以登錄後你被重定向到角度的應用程序。我已經設置了一個$ httpProvider,這樣任何導致401的請求都會將用戶重定向回登錄頁面。保持用戶信息跨應用程序緩存
與此同時,用戶在應用程序中,我希望可以隨時爲應用程序提供用戶詳細信息。像用戶名,一些設置等,理想情況下,我會有這個信息在初始視圖加載之前可用。理想情況下,我只能抓住這個信息一次。
這樣做的最好方法是什麼?我可以使用服務在控制器/視圖之間緩存用戶,但是我怎樣才能使它在主視圖顯示給用戶之前具有必要的信息(因爲有些數據是顯示初始視圖所必需的)?
所以你說如果刷新頁面,即使登錄,你也會被重定向到登錄頁面? –
否 - 服務器爲所有登錄用戶呈現應用程序。所以如果你刷新,你仍然登錄,你將繼續在應用程序。但如果你的會話過期,然後刷新,你將被重定向到服務器的登錄頁面*(而返回401的請求將重定向到客戶端的登錄頁面*) – hackerhasid
您可以簡單地使用服務/工廠。該服務將執行一個Ajax請求來獲取數據,然後將其存儲。服務是單身,因此數據應該在控制器之間可用。這也意味着Ajax請求只會發生一次。 –