2015-04-07 43 views
0

我對web開發比較陌生,我不知道如何在應用程序的前端安全地存儲用戶信息。我的問題實際上是從服務器響應中使用客戶端JavaScript提取數據的問題。在前端存儲用戶認證信息

所有我知道該怎麼做是爲了獲取通過模板的用戶數據,如EJS像這樣:

<a id="user_id" value="<%=user._id%>" ></a> 

,但必須有比這更好的辦法嗎?我覺得把用​​戶信息放入DOM是一個壞主意,爲什麼不把它放入WebDB或IndexedDB?

我應該做的,像這樣?:

sessionStorage.setItem('user_id', '<%=user._id%>'); 

的問題是,這實際上並不檢索數據:

enter image description here

所以也許我應該問的問題 - 如何我可以從html頭部的服務器響應中獲取數據嗎?

回答

1

通常,在成功登錄後,將使用唯一標識該用戶所做請求的UID設置cookie。一些後端會自動執行此操作(只是Google jsessionid),並將該id映射到您爲該客戶端保存的一組變量(通常稱爲「會話作用域變量」)。

需要將此添加到每個表單將是一個非常低效的過程。改用cookie。

1

那麼,一旦用戶登錄,我認爲可以向用戶顯示他/她的用戶名,而不是密碼。

我會localStorage去這樣的:

window.localStorage.username = 'theboss'; 
document.getElementById('user_id').value = window.localStorage.username; 

Documentation for localStorage