MySQL 唯一标识符

标签 mysql user-accounts

我们正在尝试开发一个系统,人们可以在其中创建一个帐户,其中用户名是该人的电子邮件地址。问题是,这个人可以拥有自己独特的帐户(他是管理员),并且可以是其他人帐户的“用户”。

帐户的“管理员”能够将某人的电子邮件地址分配给他们的帐户,并为该人创建一个密码以作为用户登录。

在 MySQL 中,我们在尝试识别用户登录哪个帐户时遇到问题,因为电子邮件地址是唯一标识符。有更好的方法吗?

显然,为分配给每个人的每个帐户使用唯一的用户名可以解决此问题,但我们希望使用一个电子邮件地址,因为用户不太容易记住。

如有任何帮助,我们将不胜感激!

最佳答案

关注点分离原则适用,将两个功能(登录和访问帐户)分开,以便它们是单独的独立功能......
用户登录(电子邮件和密码只是验证他/她的身份)。它不与单个帐户关联...单独,将每个帐户与允许访问该帐户的用户关联。 (在数据库中,这将是多对多表) 然后,如果用户是管理员并且拥有多个帐户的访问权限,则询问他/她希望访问哪个帐户。

这带来了额外的好处,如果您有审核需求,出于审核目的,您将能够记录不仅是哪个帐户用于执行任何业务功能,还可以记录执行该功能的实际用户...

关于MySQL 唯一标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3215290/

相关文章:

mysql - Rails 从 WEBrick 而非 Passenger 连接到 MySQL

linux - 管理本地用户帐户

php - PDO::FETCH_ASSOC 仅返回整数的第一位

c# - 多个 Windows 用户帐户上的一个实例应用程序

python - 如何获取用户的用户名?

c# - 无论操作系统语言如何,都将用户帐户添加到用户组

php - 如何使用二进制字段进行选择? (php,mysql)

MySQL LEFT OUTER JOIN 与 LIMIT?

mysql - 如何在 MYSQL 选择查询中进行多次计数?