首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户唯一ID的UUID?

用户唯一ID的UUID?
EN

Stack Overflow用户
提问于 2022-07-11 08:55:57
回答 1查看 369关注 0票数 0

每当我们创建一个身份验证系统时,它总是自动创建一个唯一的ID,就像为每个用户创建UUID一样。在我的认证系统(Amazon)中,它要求用户注册用户名和电子邮件&用户名应该是唯一和不变的。但我希望用户稍后可以更改用户名,这就是我通过首选用户名添加登录的原因,用户可以在电子邮件验证后添加首选用户名,并可以更改它。这个用户名在注册过程中是无用的,因为它在注册后为每个用户分别创建了一个子(唯一ID)。在注册用户名位置,我使用的是UUID。

过程

  1. 注册需要一个唯一的用户名(不可变)&电子邮件。电子邮件构形后的
  2. 将选择那里首选的用户名。首选用户名也是唯一的,但用户可以稍后更改它,并可以登录--使用它。在用户创建后,
  3. 为每个用户创建了一个唯一的ID。
  4. 现在用户可以通过用户名(在注册时给出)、首选用户名和电子邮件登录。
  5. 但是我不想在注册过程中从用户那里获取用户名,因为在以后的时间里用户不能更新这个用户名,而且技术上用户应该有一个用户名应该是首选的UUID,这就是为什么我在注册用户时使用UUID的原因。这是个好主意吗?
EN

回答 1

Stack Overflow用户

发布于 2022-07-11 09:14:02

我认为是的,是你问题的答案。

我在我的项目中自己做。

我说你为什么!

通常自动递增的id工作得很好。嗯,有几种情况下UUID可能变得很方便。尽管优秀的门户网站已经广泛使用UUID标识符作为主ID系统(https://trello.comhttps://slack.com),但许多新的启动和开发仍然是基于ID的自动递增主键。

  • One与安全性有关。UUID比简单的数字更难记住。因此,路过的人,瞥一眼你的屏幕,就无法知道你正在处理的文件号是什么。如果您不知道要查找的内容或查找位置,则侵入系统检索信息要困难得多。

  • 还有一个关于数据库缩放的问题。想象一下,你一直在两个自我托管的博客平台上写博客文章。出于某种原因,你想把这两个博客合并成一个。如果您使用了通常的自动递增If,您将不得不重新索引数据库的每个博客文章,并更新可能指向它们的每个外键。但是如果您使用UUID作为主键…没有工作要做!

  • 如果您使用自动增量ID,坏人可以在您的系统中创建一个帐户,创建一个公司,检查Chrome浏览器中的网络选项卡,查看他的ID为136。他现在知道,你的系统只有135家公司曾经由其他客户创建。您可能会说“没什么大不了的”,但您是否100%确定整体计数信息不敏感?

  • 当您使用UUID时,您不能说以前创建了多少条记录。此外,您还可以在秘密(例如共享)链接中使用UUIDv4。即使你有数以百万计的秘密链接,黑客也需要永恒的时间来猜测。

使用UUID作为主键确实还有一些其他的好处;看看互联网。

最终,这是你的项目,你应该决定哪种策略最适合你的项目。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72935951

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档