通常不会在服务之间“同步”密码,而是使用集中式身份验证服务。在许多情况下,这将是一个运行 Active Directory 服务器(其他存在,例如 FreeIPA)的 Microsoft Windows 域控制器,其他服务可以使用 LDAP 和 Kerberos 与之通信。
典型设置将所有用户帐户添加到目录服务器(出于冗余和可靠性目的,通常在多个服务器之间透明地复制)。本地托管的应用程序(例如 Blackboard)会将目录服务器的 LDAP 信息作为身份验证提供程序输入到服务器设置中。当客户端在 Web 界面上输入其凭据时,应用程序可能会根据本地数据库以及已配置的 LDAP 服务检查凭据。如果 LDAP 服务器确认身份验证成功,则可以检索有关用户的信息(联系信息、组成员资格等)以填充应用程序的某些部分。当用户信息在某处更新时,目录服务器上的数据会发生更改,以便在其他任何地方都可以看到更改。
并非所有应用程序都会直接使用 LDAP;外部服务(例如 Office 365 或 Google Apps 套件等)可能会改用单点登录 (SSO),您可以在其中通过组织的登录页面进行身份验证,并且这些外部服务能够有效地重复使用此身份验证(例如通过 SAML)。
在目录服务器上,密码作为散列存储在每个用户对象中。使用 LDAP 访问控制进一步保护散列(因此任何 LDAP 客户端都不能只提取散列)并使用注册表中的密钥(在 Windows 活动目录的情况下)进行加密。
简而言之,这只是表面现象。有多种方法可以设置网络和服务以使用集中式身份验证。但几乎每个组织都使用某种类型的这种系统。就像您说的那样,在大多数情况下手动操作会非常困难且不安全。