Web应用程序,在url中将数据库中的user_id设为public

时间:2013-07-07 15:40:54

标签: url web-applications

我只想知道将db中的user_id添加到Web应用程序中user_profile的url是否是好的做法,例如www.example.com/john-smith-4233。该URL实际上由first_name last_name和db的user_id组成。我想知道这是好事还是坏事。然后,“john-smith-4233”部分将是一个唯一的用户名,每个人都可以根据网址找到一个人,例如像谷歌这样的“示例约翰史密斯”。有没有更好的方法来做这样的事情?我还在考虑一种在用户名之后添加数字的方法,只有当具有此first_name和last_name的用户存在时...但为此我必须始终查询数据库,所以我正在寻找最佳方法来执行此操作。

1 个答案:

答案 0 :(得分:0)

我最近在考虑同样的问题。我认为没有“既定的最佳实践”。我在你的解决方案中看到的问题是,大多数时候“firstname-lastname”可能是唯一的,你无缘无故地将一个杂乱的数字附加到它上面。您可能尝试的一件事是添加一个名为“canonical_name”的数据库字段,每次创建帐户时,都要检查是否已使用“firstname-lastname”。如果不是,则“firstname-lastname”成为新用户的规范名称。如果使用它,那么你加上一个数字(可能是一个低数字1,2,3等),规范名称变成“firstname_lastname_1”。

我认为这就像Facebook所做的那样。