如何将现有Wordpress/WooCommerce用户迁移到LDAP?

如何将现有Wordpress/WooCommerce用户迁移到LDAP?,wordpress,woocommerce,ldap,Wordpress,Woocommerce,Ldap,我有一个Wordpress/WooCommerce安装,使用Wordpress本身进行身份验证。我想切换到基于LDAP的身份验证(例如OpenLDAP)。如何以最少的干预迁移现有用户 理想情况下,他们只需继续为Wordpress和使用相同LDAP数据库的任何其他资源使用预先存在的凭据 此外,通过WooCommerce购买创建的新用户应创建为LDAP用户 (像这样的现有插件似乎可以为预先存在的LDAP凭据创建Wordpress用户。我正在寻找另一个方向的支持。)我认为您必须自己开发此任务。您可以检

我有一个Wordpress/WooCommerce安装,使用Wordpress本身进行身份验证。我想切换到基于LDAP的身份验证(例如OpenLDAP)。如何以最少的干预迁移现有用户

理想情况下,他们只需继续为Wordpress和使用相同LDAP数据库的任何其他资源使用预先存在的凭据

此外,通过WooCommerce购买创建的新用户应创建为LDAP用户


(像这样的现有插件似乎可以为预先存在的LDAP凭据创建Wordpress用户。我正在寻找另一个方向的支持。)

我认为您必须自己开发此任务。您可以检查以下工具:这将允许您配置映射和同步SQL数据库到LDAP目录,并定期安排任务(或在数据库中的新行触发任务)

唯一可能出现问题的地方是“保留他们的凭证”。我不知道wordpress,但是如果OpenLDAP本机不支持密码的散列和/或加密机制,那么您必须散列用户的清除密码,以使用兼容的机制存储它

  • 一种方法是告诉每个用户密码将被重置,并且他们必须重新键入密码(在某个自定义登录页上,您可以使用wordpress DB上的凭据对用户进行身份验证,如果成功,则在LDAP上写入密码)

  • 另一种方法是部署一些自助服务密码,重置所有帐户,并需要通过发送到其电子邮件的链接(从LDAP)重新设置它们。有这样的工具,例如:


遵循Esteban的建议,我开发了如下解决方案:

Wordpress界面

  • 安装简单LDAP登录
  • 安装
  • 用户根据LDAP进行身份验证,使用Wordpress
  • “更改密码”将它们发送到新界面
新界面

  • 用户通过新界面登录
  • 用户根据LDAP进行身份验证,依赖于:
    • 通过JWT对Wordpress进行身份验证。关于成功:
    • 创建LDAP用户(我们有密码)
    • 删除Wordpress密码哈希(不再需要,将来强制基于LDAP的身份验证)
工作流

  • 现有用户可以通过Wordpress或新界面登录。使用新接口(登录或更改密码)后,将迁移到基于LDAP的身份验证
  • 新用户在LDAP中注册。他们可以通过Wordpress或新界面登录,这两个界面都由LDAP支持