0

我正在尝试创建一个只有 OpenId 注册的用户表,就像 StackOverflow 一样。

我存储在桌子上

  • OpenId 标识符(他们的登录名)
  • 别名(向公众显示的显示名称)
  • 其他一些 openId 的东西

所以...我想确保系统中只有一个用户具有 openId 标识符和一个别名。

当然,我可以随时更改我的别名。我也可以随时更改我的 openId 标识符。我需要确保这些是唯一的/只存在一次。

所以...我是为表创建两个唯一键索引,还是创建一个包含两个字段的唯一键索引?

干杯:)

4

2 回答 2

1

制作两个唯一的密钥。否则,同一个 openid 可以关联多个用户。

于 2008-12-07T11:28:46.790 回答
1

他们每个人一个。

如果您只创建一个包含两者的用户,那么您可以拥有 - 例如 - 两个具有相同别名的用户,只要他们有两个不同的 OpenID。

然而:

  • 我建议您创建一个用户表和另一个 OpenID 表,以允许用户将多个 OpenID 与其帐户相关联。假设他们在 Yahoo 有一个 OpenID,在 MyOpenID 有另一个。如果 - 由于任何原因 - 雅虎决定关闭其 OpenID 服务,该人仍然可以使用他的 MyOpenID 登录名登录。好吧,只要他早先在他的帐户中注册了该ID。
于 2008-12-07T11:29:18.673 回答