代码之家  ›  专栏  ›  技术社区  ›  Eugene

除了pk(主键)之外,还可以维护user_alias/user_id吗?

  •  0
  • Eugene  · 技术社区  · 6 年前

    我正在用spring rest服务开发一个移动应用程序。
    根据来自 Should I use the username, or the user's ID to reference authenticated users in ASP.NET ,我的观点如下:

    • 不要使用用户名作为id,除非您知道这样做的缺点,例如,从那时起用户名是不可修改的。

    我决定在服务器端使用uuid作为pk,根据 Why not expose a primary key ,出于某些原因曝光PK不是个好主意

    • pk可能根据内部转换而变化。如果它是公开的,交互界面也应该是多样的。这不符合开闭原则。

    好的,这里必须有另一个标识符来标识客户机和服务器之间的用户。我决定在用户表中再添加一个属性,该属性可以是唯一的用户别名。它是从客户机和服务器传递来的,以使服务器知道它是哪个用户。我对它不太满意,因为一个表有两个不同的标识符pk和user_alias。

    所以问题来了,这是一个好的做法吗?如果没有,还有什么更好的做法?

    0 回复  |  直到 6 年前