识别经过身份验证的用户的类型

时间:2018-03-20 23:46:00

标签: javascript node.js reactjs authentication jwt

我正在构建一个普通用户和管理员都可以访问的应用。通过身份验证后,您可以访问它。

经过身份验证后,我需要检查当前用户的用户类型。他/她是普通用户还是管理员?基于此,某些事物将被渲染或不渲染。

我使用Node,React和MongoDB。我怎么能这样做?这可以使用JSON Web Tokens实现吗?

1 个答案:

答案 0 :(得分:3)

当用户进行身份验证时,您可能会在某种用户数据库中查找它们。在数据库中找到它们时,可以从数据库中读取它们是否具有管理权限。具体取决于您如何存储数据。它可以像用户的布尔标志一样简单。

一旦您知道用户已成功通过身份验证,Web应用程序通常会建立服务器端用户会话。这涉及在浏览器上设置加密的会话cookie,然后将该会话cookie链接到您创建的服务器上的会话对象。该会话对象本身可以存储在数据库中,也可以保存在内存中(取决于部署需要)。一旦看到用户具有管理权限,您就可以在会话对象中设置一个属性,指示该用户具有这些权限。未来的渲染可以使用该标志来决定在页面中放置什么。

可以使用JSON Web令牌代替Cookie,但这通常不是执行Web应用程序的首选方式,因为浏览器会自动为您管理Cookie,但您必须管理JSON Web在自己的应用代码中表现自己。您也可以在cookie中放置JSON Web令牌,但这不是必需的。