LDAP 是根据 Active Directory 验证 Web 应用程序的唯一方法吗?

LDAP 是根据 Active Directory 验证 Web 应用程序的唯一方法吗?

如何将 PHP Web 应用程序连接到 Active Directory?LDAP 是唯一的方法吗?

我目前掌握的一些参考资料 https://stackoverflow.com/questions/1003751/how-do-i-use-microsoft-ad-and-php-single-sign-on-web-app

答案1

嗯,Active DirectoryLDAP+Kerberos+一些其他杂项。正式来说,你可以通过 Kerberos 进行身份验证,但这不会提供您可能需要的任何其他授权数据。

只要您的防火墙不禁止并且您拥有具有正确权限的用户帐户,您就应该能够使用标准 LDAP PHP 库、LDAP 浏览器等查询 Active Directory。

答案2

LDAP 不是必需的。您可以将基于声明的身份验证(新趋势)与 SAML 结合使用。PHP 库这里

让您的网络管理员安装 ADFSv2,以使 AD 在您的应用中打开 SAML 和端点 WS-Trust。ADFS 是免费的,Windows 2008 R2 是运行最新版本的合适操作系统。

提示:如果您想要令牌重放检测等高级功能,请确保安装它以便使用 SQL(而不是 SQL Express)。

答案3

您也可以尝试 SAML。尝试搜索“SAML active directory”以及“SAML apache”。

答案4

对吗?没有 LDAP 我该如何连接?

如果您的 Linux 系统运行的是 Winbind (http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/winbind.html),您可以设想使用标准 PAM 服务进行身份验证。而且,正如已经指出的那样,您还可以使用 Kerberos 进行身份验证(将其视为密码数据库或通过实际接受 Kerberos 令牌,例如通过 Apache 的 mod_kerberos)。

如果操作正确,使用 Kerberos 会为您带来一些安全优势(因为用户密码永远不会穿越网络),但您仍然需要与 LDAP(或运行 Winbind 的本地系统)交互以获取组成员身份等,以进行授权。

相关内容