2016-11-28 42 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相对于服务器的数据(标识登录的人)发生更改。