【问题标题】:How to verify a wordpress user at a servlet?如何在 servlet 上验证 wordpress 用户?
【发布时间】:2012-02-11 16:03:45
【问题描述】:

我想在 wordpress 网站中嵌入一个 ajax 应用程序。 ajax 应用程序将与运行在tomcat 上的servlet 进行通信。现在,servlet 需要一种方法来验证请求是否来自登录到 wordpress 的用户。这通常如何解决?

AFAIK,wordpress 是无状态的,不使用会话,这让我很好奇如何跟踪 wordpress 中的登录用户。 第二个问题是,servlet 如何请求 wordpress 来验证给定用户是否仍然登录?

欢迎任何建议, 谢谢。

【问题讨论】:

  • 你如何断定 Wordpress 不使用会话?
  • 网络上的各种来源(例如bit.ly/yZoAKy,但很多其他页面都说同样的话)提到wordpress的目标是无状态的。此外,数据库中没有会话/uid 表。所以我认为会议是错误的路线。

标签: java php wordpress session servlets


【解决方案1】:

您唯一能做的就是读取 cookie。只有当您使用相同的域(或子域并且 cookie 对所有子域都有效)时,这才有效。但是,会话 cookie 可能无法为您提供足够的信息。您无法从 Java 应用程序中读取 PHP 会话,而且通常不能以这种方式混合两个应用程序。

作为一种解决方法,您可以使用 javascript 检查当前登录的用户(通过在 DOM 中查找用户名),然后使用 ajax 发送,但这根本不安全。

【讨论】:

  • 感谢您的建议。我最初的想法是将 sessionid 存储在 javascript 变量中(这样 ajax 应用程序可以轻松访问它)并在每次调用 servlet 时将其传输。然后 servlet 询问 wordpress sessionid 是否仍然有效并执行或拒绝调用。 (此工作流程与 CAS 非常相似,只是不需要 CAS 服务器)。问题是,这可以在 wordpress 中实现吗? (在 drupal 或 joomla 中这样做没有问题,因为它们都将 sessionid 和 userid 保存在数据库中。)
猜你喜欢
  • 2023-03-26
  • 1970-01-01
  • 1970-01-01
  • 2013-01-19
  • 1970-01-01
  • 2021-11-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多