使用外部数据库数据登录WordPress

时间:2012-05-23 作者:ReynierPM

我有一个可湿性粉剂网站,也有一个外部数据库(意味着不是可湿性粉剂数据库)与用户。该表中的插入过程使用与WP相同的算法。我在这里需要做的是登录到WP中,但顺便说一下,使用同一主机中的这个外部DB。我检查此链接http://www.tyssendesign.com.au/articles/cms/connecting-to-external-database-from-within-wordpress/http://wordpress.org/extend/plugins/external-database-authentication/ 第一个不是我想要的,但第二个与WP 3+不兼容,我正在使用3.3.1,有什么建议或文档或其他东西吗?

5 个回复
最合适的回答,由SO网友:Roscius 整理而成

您可以重写核心wp\\U authenticate函数。

您需要创建一个自定义插件并声明wp\\u authenticate的新版本。该函数接受用户名和密码,并返回WP$用户对象。

wp\\U authenticate是一个“可插拔”功能,可在wp includes/pluggable中找到。php文件。

SO网友:Tom Benyon

我需要比其他地方更多的功能,所以我写了自己的插件-External Login.

它有以下主要特点:

映射不同的DB表结构以与WordPress字段兼容处理来自外部数据库的不同哈希方法(bcrypt、MD 2 4和5、SHA 256 384和512,以及更多)

  • 允许不同的salting方法在数据库中生成用户的复制版本,以便您可以继续对用户和角色
  • 将“外部数据库”中的角色映射到WordPress中的角色,例如,“外部数据库”中的学生成为WordPress数据库中的编辑

    https://en-gb.wordpress.org/plugins/external-login/

  • SO网友:kingkool68

    您是否尝试过外部数据库身份验证插件?只是因为它已经有一段时间没有更新,并不意味着它不一定会工作。至少你可以看看他们的源代码,看看他们是如何做的,并以此为基础来完成你需要的工作。

    这是代码http://plugins.trac.wordpress.org/browser/external-database-authentication/trunk/ext_db_auth.php

    SO网友:Joshua Parker

    我刚刚根据需要更新了那个旧插件。您可以找到更新@http://www.7mediaws.org/extend/plugins/external-db-auth-reloaded

    SO网友:Naman Vrati

    是的,你的插件很棒。您需要改进并最终确定插件的地方是,在较新的WordPress版本中,有两个不同的表包含用户数据。它们是wp\\u user和wp\\u usermeta。在插件中,只提供了一个表进行身份验证。因此,如果这项功能正常,那么您的插件肯定是百分之百成功的。

    除此之外,还有一个bug。因为只有一个表需要验证,所以我无法验证用户角色并同步它们。这意味着,当我启用外部登录时,即我注销的时间,以及下次登录时,我是订阅者角色,如果没有角色匹配,则我指定了订阅者角色。所以我也失去了我的管理权。请帮助并理解。

    结束

    相关推荐

    My login form does not work

    我有以下代码为我博客中的每个页面生成登录表单。<form action=\"<?php echo wp_login_url(); ?>\" method=\"post\"> username: <br /> <input name=\"log\" id=\"login_username\" type=\"text\" /> <br /> password: <br /> <input na