2016-11-28 70 views
0

我最近正在使用nodejs express在Web應用程序中測試會話相關問題,如prevelage升級。這是我第一次測試nodejs應用程序,情況是這樣的,該網站有3個用戶角色管理員,經理,用戶和所有三個具有相同的值connect.sid和所有三個在應用程序有不同的privelages,但這就是唯一的cookie在授權後爲每個人提供。關於nodejs會話管理的困惑

我很困惑nodejs如何處理會話,以及它如何區分這是管理員,他是經理和類似的東西?

有人可以在nodejs網絡編程方面有經驗,可以對此有所瞭解嗎?

+0

您是否從同一瀏覽器中以這三種類型的用戶登錄? – robertklep

+0

我登錄了1檢查了登出的cookie並登錄了其他,並且我看到了相同的cookie值 – StackB00m

+0

您如何註銷用戶?會話cookie被刪除/刪除,還是會話_data_? – robertklep

回答

0

您可以分配變量到會話中,如:

request.session.level = 'admin'; 
+0

不,我現在問如何分配,我的疑問是相同的connect.sid值nodejs如何管理它們之間的會話 – StackB00m

0

我登錄到1檢查cookie的註銷並登錄到其他,我看到相同的cookie值

cookie值只是用來跟蹤會話。所有有趣的信息都保存在服務器上。

當你到達網站時,你會得到一個會話和一個會話cookie來連接你的瀏覽器。您目前尚未登錄,但仍會收到會話Cookie。 (至少通常,你沒有分享你的會話實現的具體細節,所以我們不能確定這一點)。

有關哪個用戶登錄的詳細信息是存儲在服務器端並與該會話ID關聯的。

如果您註銷並再次登錄,您仍在使用同一個會話,這只是在服務器上存儲的會話ID相對於服務器的數據(標識登錄的人)發生更改。