用户名作为DB ID

时间:2011-09-03 19:46:35

标签: identity

我正在创建一个简单的Web应用程序。

即使在应用程序的低级别中,用它的用户名识别用户是不是错误?

例如,假设我有一个包含三列的身份验证令牌表:token,userID,expDate。 将用户名用户名放在userID列中是不是错了?

我是否必须担心每个人都知道我的数据库中的用户ID?

2 个答案:

答案 0 :(得分:1)

不,我不认为这有什么不妥。我已经在非常大的网站上看到了这一点 - 只需确保你有一个唯一的约束和该值的索引(更好的是,使它成为主键)。此外,请考虑使用用户名作为其ID,意味着您不能让用户在不破坏现有链接的情况下更改其用户名(例如,如果您的用户在外部共享其用户页面)。

答案 1 :(得分:0)

我不确定,但使用字符串而不是数字可能会有一些开销。 如果用户的用户名发生变化,更新其他数据库表也可能很麻烦。