【问题标题】:Share wordpress site between two different user tables在两个不同的用户表之间共享 wordpress 站点
【发布时间】:2013-12-03 06:13:31
【问题描述】:

我有一个 wordpress 网站和一个 iphone 应用程序。两者都有一个包含不同用户表的通用数据库。

1> mysite.com >> wp_user

2> iPhone 应用 >> app_user

我想要什么,我想让有能力的应用用户登录到 WordPress 网站。意思是

1> 站点用户只能登录站点

2>应用用户可以登录网站+iPhone应用

如何让应用用户能够登录网站。

我尝试过调试 WP-login 脚本,但找不到正确的方法

我需要你们的帮助。

谢谢。

【问题讨论】:

  • 你不能把记录从app_user复制到wp_user吗?
  • @MythThrazz 这不合适,因为我必须为每个添加的 app_user 一直这样做

标签: php iphone wordpress


【解决方案1】:

所需的功能看起来有点棘手,可能还有更多方法,但我推荐的方法是:

  • 在 wordpress 站点中创建自定义登录表单

  • 检索用户名和密码并首先检查它们是否存在于您的站点上。如果他们确实存在,那么只需登录(这些是站点用户)wp_signon 方法可以在这里使用。

  • 如果他们不是 wordpress 用户,则通过使用MySQL 并查看移动应用表来检查他们是否是移动应用用户,如果确实存在,则检索他们的信息并将其注册到WordPress 站点@ 987654324@ 可以使用它,您可以添加自定义元数据,以便您知道这些是应用程序用户。注册后,使用wp_signon创建登录会话。

我会推荐你​​在 wordpress 中为这个任务构建一个插件。

编码愉快!

【讨论】:

    【解决方案2】:

    您可以使用扩展 WordPress XML-RPC API 来验证您的 iphone 用户到 wordpress。详细解释和基本工作代码可以在 Extending the WordPress XML-RPC API (http://www.skyverge.com/blog/extending-the-wordpress-xml-rpc-api/) 找到。

    【讨论】:

    • +1 - 这是官方 WP android 应用程序的工作方式!
    【解决方案3】:

    我会推荐一个自定义登录插件来完成此操作。

    您可以使用wp-rename 登录插件作为启动点。

    在此插件中,WP 凭据验证部分在文件 rwl-login.php 的第 449 行处理。

    同样,您必须添加代码来验证移动凭据,以及在此切换案例中。 如果您构建的代码遵循 WP 移动应用程序标准,您可以只包含登录验证文件,因为它是在第 450 行中为 WP 常规验证完成的

    如果不进行自己的验证并在这种情况下正确重定向您也可以让您的本机应用注册该自定义 url 的处理程序,以便它可以适当地捕获和处理重定向

    【讨论】:

      【解决方案4】:

      制作2个用户组,即:

      1. 网站用户
      2. 应用用户

      当用户尝试登录时,检查其所属的用户组并相应地提供访问权限或显示错误消息。

      要更改登录系统用户,请使用过滤器挂钩“authenticate”,甚至更好地使用wp_authenticate

      【讨论】:

      • 感谢 rply。但您没有正确理解我的问题?我问过如何从 webservise/mobile app(iphone) 访问 WP,它位于 wordpress 的同一目录中并具有相同的数据库?
      【解决方案5】:

      大声思考——首先确认核心问题:

      您需要一个用户才能登录 iOS 应用并授予对 WP 网站的访问权限。

      当前考虑:在 iOS 应用程序和 wordpress 上创建用户 ID + 密码 + salt(或类似的东西)的哈希值。使用通过 iOS 应用程序发送到 WP 的哈希来确认用户。

      是的,与您的用户名和密码通过无线方式传输一样,此信息存在安全问题。

      使用匹配的哈希(在 WP 中使用查找表,超级简单),WP 中有一些方法可以强制用户登录(这样做,可以从我的档案中挖掘出代码助手)。

      问题:需要将 PW 更改挂钩到哈希生成/更新。 WP中有用户变更钩子,很好解决。

      提示:用户管理的几乎所有方面,包括权限和组,都可以通过 WP API/框架获得。有可能(虽然不容易)在 iOS 应用程序上更改 PW 以更新 WP 等等。

      希望我对您有所帮助,这些消息有点令人困惑。

      【讨论】:

        猜你喜欢
        • 2019-02-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-12-07
        • 1970-01-01
        • 2013-02-02
        • 2012-09-04
        相关资源
        最近更新 更多