2012-01-16 24 views
0

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

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

欢迎任何建议, 谢谢。

+0

你如何得出结论,Wordpress不会使用会话? – bingjie2680

+0

网上提到的各种资源(例如http://bit.ly/yZoAKy,但很多其他网页都说明了这一点)提到wordpress的目标是无国籍。另外,数据库中没有会话/ uid表。所以我认为会议是错误的路线。 – user1152442

回答

0

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

作为一个小的解决方法,你可以用JavaScript谁是当前登录的用户(通过寻找DOM的用户名)检查,并发送与AJAX,但并不安全的。

+0

谢谢你的建议。我最初的想法是将sessionid存储在一个javascript变量中(这样ajax应用程序就可以轻松访问它),并在每次调用servlet时传递它。然后,如果sessionid仍然有效并且执行或拒绝该调用,那么servlet会要求wordpress。 (这个工作流程与CAS非常相似,不需要CAS服务器)。问题是,这是可以在wordpress中实现的吗? (在drupal或joomla中做这件事不会有问题,因为它们都会将数据库中的sessionid和userid保存起来。) – user1152442