2011-03-22 68 views
1

我最近发现LightOpenID,我将用作所有下一个网站的登录系统。用户管理策略与LightOpenID

当我在用户注册/登录LighOpenID时提取一些信息时,我想知道在我的USERS表中使用用户的电子邮件作为唯一ID在技术上还是好的,或者它是一个坏主意?

谢谢你们,

FX

回答

0

这取决于你的服务。通常,每个电子邮件地址只能分配给一个人。如果每个用户不需要多个帐户,那没关系。 有些家庭拥有家庭电子邮件地址。但我猜他们也会使用同一个帐户。

为什么不把OpenID作为唯一的ID?的OpenID是独一无二的,你得到的OpenID你的电子邮件ADRESS之前,如果你只使用OpenID的用于登录

1

思来考虑:

  1. 不强制有一个电子邮件帐户链接到您的OpenID帐户。
  2. 如果有电子邮件地址,即使您询问,也不保证将其从服务器中取回。
  3. 即使你得到的地址,你仍然需要验证它(例如,通过发送带有随机标记的电子邮件)。
  4. 用户可能拥有多个OpenID标识符(一旦您在某些主要服务(如Google或Yahoo)上打开帐户,您就会处于这种情况)。其中一些将共享相同的电子邮件地址,有些则不会,有些甚至不会设置电子邮件地址。
  5. 当用户在幕后更改自己的电子邮件地址时,他将在您的网站上丢失自己的帐户。
  6. 使用电子邮件作为密钥并不能真正提供我能想到的任何优势。

我的建议是,如果你想使用OpenID,你应该做对了。验证成功后,请从$openid->identity()中阅读OpenID URL,并使用该URL识别用户。

此外:

  • 记住网址可以;不要尝试将其填充到VARCHAR(100)列中。
  • 您可能希望像Stack Overflow一样实现链接标识。