【问题标题】:Authenticating with Rest Service in Java/Groovy在 Java/Groovy 中使用 Rest 服务进行身份验证
【发布时间】:2012-03-02 13:51:22
【问题描述】:

目标

我是 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 请求传递该身份验证数据(session_name 和 Drupal 第一次发回的 session_id)=> 目前似乎不起作用:

401 Unauthorized: Access denied for user 42 "trader785876"

我试过了

  • 将 cookie 从第一个(身份验证)请求复制到第二个
  • 从第一个请求中提取 cookie,并将它们设置在第二个请求的标头中
  • 从第一个请求中提取 cookie,并在第二个请求的 POST 参数中设置它们,等等。

【问题讨论】:

    标签: java http drupal authentication groovy


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的回复。我想出了解决方案。我使用 RestClient 类而不是 HttpBuilder 它工作得很好。
    猜你喜欢
    • 2013-06-22
    • 2011-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-08
    • 2014-07-10
    • 1970-01-01
    相关资源
    最近更新 更多