【问题标题】:Advantages of having user authentication details stored in a separate table将用户身份验证详细信息存储在单独的表中的优点
【发布时间】:2011-12-18 23:28:43
【问题描述】:

我在 mysql 中有一个用户表,其中包含所有用户数据(名字、姓氏、地址等)

但是我应该将身份验证详细信息存储在另一个表中(用户名、密码)并通过用户 ID 链接这两个表吗?

这有什么意义吗?

它更安全吗?

还是只是增加了额外的编码?

【问题讨论】:

    标签: database-design database-optimization


    【解决方案1】:

    这有什么意义吗?

    不,一点也不。

    它更安全吗?

    如果有人可以访问您的用户表,他们肯定可以访问密码所在的任何其他表,所以不能。

    还是只是增加了额外的编码?

    差不多。如果一开始确实没有理由分割数据,那么您将不得不大量使用 JOINs 来获取密码信息。

    【讨论】:

      【解决方案2】:

      这有什么意义吗?

      没有。

      它更安全吗?

      怎么可能?数据库凭据适用于整个数据库。

      只是添加额外的编码?

      没错。

      【讨论】:

        【解决方案3】:

        重复使用答案模板来增加我的 2 美分:

        这有什么意义吗?

        是的!它减少了开销。如果您只需要对用户进行身份验证,则不需要获取他们的个人资料信息。它可以节省带宽并制作高效的表格。

        它更安全吗?

        没有

        还是只是增加了额外的编码?

        嗯,它的工作量稍大一些,但值得,因为它是良好的应用程序架构。通过设计一个可以扩展的系统,你正在为你未来的自己一个忙。 此外,如果您使用框架,您将不会感觉到它。

        【讨论】:

        • 你能给出一个示例设置或其中的 2 个来演示吗?
        猜你喜欢
        • 2011-05-30
        • 2011-02-05
        • 2020-09-11
        • 2011-05-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多