使用Java / Groovy中的Rest服务进行身份验证

时间:2012-03-02 13:51:23

标签: java http drupal authentication groovy

目标

我是Groovy和Drupal 7的新手。我的项目是使用Groovy语言通过REstfull服务在Drupal 7上创建一个节点。我在Drupal 7上设置了Rest Server,并使用mozilla插件Poster检查了发送一些身份验证和创建Post请求。它完美无缺。

问题

然而,在使用Groovy / Java建立相同的进程时会出现问题。我使用HttpBuilder基本上在Apache HttpClient之上工作。

为了进行身份验证,我需要将用户名/密码发送到/user/login URI。下次我需要做一些事情,比如POST请求(例如创建一个Drupal节点),我需要使用不同的URI,例如/node以某种方式通过该POST请求传递该auth数据(第一次Drupal发回的session_namesession_id)=>目前似乎不起作用:

401 Unauthorized: Access denied for user 42 "trader785876"

我试过

  • 将Cookie从第一个(auth)请求复制到第二个
  • 从第一个请求中提取Cookie,并将其设置在第二个
  • 的标题中
  • 从第一个请求中提取cookie,并将其设置在第二个请求的POST参数中。

1 个答案:

答案 0 :(得分:0)

您是否尝试使用此方法http://groovy.codehaus.org/modules/http-builder/doc/auth.html进行身份验证?

...
authClient.auth.basic 'myUsername', 'myPassword'
...