gpt4 book ai didi

mysql - 存储和验证用户 : LDAP Server vs MySQL DB?

转载 作者:行者123 更新时间:2023-11-29 01:41:04 27 4
gpt4 key购买 nike

我很想知道 Amazon 和 Ebay 等受欢迎的在线公司如何存储客户凭据以及他们如何验证用户身份?我阅读了有关将用户凭据存储在 mySql 与 LDAP 服务器中的信息。我正在阅读有关使用 spring LDAP 身份验证提供程序的信息。这本书讨论了将加密密码发送到 LDAP 服务器并在那里进行身份验证的真正安全性(据推测,因为身份验证仅在服务器内部发生)。

现在我很好奇亚马逊和易趣这样的大公司是怎么做到的?在存储用户凭据及其身份验证机制方面,在线业务的流行趋势是什么。

我对此很陌生,对于明显的遗漏,我深表歉意。

最佳答案

当您必须针对一个后端验证许多不同的服务(所有人一个密码甚至SingleSignOn)或者当您有不同的物理位置时,LDAP 非常有用分散在全局各地,您必须针对单个后端进行身份验证,因为 LDAP 非常适合分片信息。

但是当这不是必须的并且您只想使用 LDAP 作为身份验证后端时,我总是投票支持最小化系统,这意味着如果您的应用程序需要一个数据库,那么也可以使用该数据库进行身份验证。

作为替代方案,我会考虑使用 OAuth 或 OpenID,这样用户就可以使用不同的服务登录,而且您不必考虑散列密码,因为您不存储密码。这样您就可以将身份验证委托(delegate)给外部服务。

加密密码的问题在于,大多数时候用户将未加密的密码(仅通过 https 连接加密)发送到服务器。然后服务器可以从那里使用加密或不使用加密来连接到 LDAP。但是,当您使用 LDAP 的默认绑定(bind)命令时,您必须向 LDAP 提供未加密的密码,因此没有任何好处。相反,当您使用数据库时,您可以将加密的密码存储在数据库中,然后可以查询加密的密码,因此在您的应用程序和数据库之间,密码仅以加密方式发送。然而,这不会加密用户和应用程序之间的密码!

关于mysql - 存储和验证用户 : LDAP Server vs MySQL DB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22257181/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com