首页 > 解决方案 > 如何将 cookie 中保存的数据链接到用户?

问题描述

当使用特定用户(即用户 1)登录时,我可以使用以下代码段以 cookie 的形式保存我的数据:

import Cookies from 'universal-cookie';

const cookie = new Cookies()
cookie.set('cookie','user1value', { path:'/'})

但是当我使用用户 2 登录时,我不希望我的用户 2 能够访问我从用户 1 登录时保存的 cookie,即我不希望我的用户 2 能够看到user1value给出的 cookie上面的代码。给定的代码允许所有用户在同一站点上访问 cookie。有没有办法将某个用户映射到特定的 cookie 值?如果是这样,有人可以给我一个大致的想法,我该如何实现这一目标?

标签: javascriptnode.jsreactjstypescript

解决方案


通常,您不希望在用户注销后将用户相关信息存储在 cookie 中。您可以在用户再次登录后获取用户相关信息,并将其设置为cookie。我能想到的一些选择:

  1. 正如评论中所说,通过使用相同的 cookie 名称,您可以覆盖用户浏览器中以前的 cookie。这样,旧的 cookie 值就会丢失。

  2. 在注销时,您可以将 cookie 值设置为空字符串(或任何其他未使用的值)并设置“过期”值,如本文所述

  3. 如果您不希望您的用户信息在 cookie 值中可读,您可以使用会话 id 作为 cookie 值。然后,在服务器端的数据存储中,您可以将此会话 ID 与登录的用户信息相关联。用户注销后,您可以删除数据库中的会话以及 cookie。


推荐阅读