将用户的数据库ID存储在redux中是不是一种不好的做法?

pokxtpni  于 2022-11-12  发布在  其他
关注(0)|答案(1)|浏览(115)

几乎正如标题所说,我想检查它是否完全好,或者如果它是坏的做法,我存储在我的网站redux存储用户数据库ID。
例如,它是一个网站,可以有一个商店或客户用户,例如,如果用户登录,他们可以在redux中的数组属性中拥有他们最喜欢的商店的数据,并且在该数组中可以是一个对象列表,其中:

{storeId:Guid, storeName:string, storeIndustryType:enum, etc...}

storeId的guid将是存储数据库和aspNetUsers数据库中该用户的主键。
我使用这些ID进行与他们想要做的事情相关的CRUD操作,如添加新的收藏夹商店、删除收藏夹商店等。

8dtrkrch

8dtrkrch1#

这并不理想,但也是一种常见的做法。我不会说这是一种糟糕的做法,但“最佳做法”肯定是不同的:

  • 理想情况下,您应该使用一个单独的唯一ID,该ID暴露在(内部DB系统的)外部,然后将用于在API请求等中标识用户,就像别名一样。
  • ID不应该允许猜测其他现有的ID(例如,通过递增计数器),但您似乎已经用guid覆盖了这一点。

顺便说一句,这个问题并不是redux特有的,它更多的是关于如何在客户端识别系统中的实体。你可以如上所述为它们取别名,或者向客户端公开内部使用的ID。后者更简单、更容易,但安全性更低。

相关问题