AEM / CQ5包在远程服务器上上传和部署 - 身份验证问题(AEM 6.1)

时间:2015-10-22 03:47:51

标签: maven jenkins cq5 aem

我正在尝试在远程服务器上安装AEM / CQ5 zip包并获得授权错误(我很确定我正在使用正确的凭据)。 此外,curl命令工作正常:

curl -u:-F package=@-0.0.1-SNAPSHOT.zip http://:/crx/packmgr/service.jsp/?cmd = upload -vvvv *即将连接()到端口4502(#0) * 试 ... *连接到()端口4502(#0) *使用Basic与用户

进行服务器身份验证
  

POST /crx/packmgr/service.jsp/?cmd=upload HTTP / 1.1   授权:基本c2hhcmFkLmthcG9vcjpDb29raWVKYXIyMw ==   User-Agent:curl / 7.29.0   主办:   接受: /   内容长度:10496181   期待:100-继续   内容类型:multipart / form-data;边界= ---------------------------- 68858f7271d6

     

<找到HTTP / 1.1 302   <日期:星期四,2015年10月22日02:27:56 GMT   <位置:http://:/crx/packmgr/service.jsp/index.jsp   <内容长度:0   <连接:关闭   <服务器:Jetty(9.2.9.v20150224)   < X-Powered-By:Jetty(9.2.9.v20150224)   <   *关闭连接0

响应

{"成功":true," msg":"包上传

什么是失败的是来自Jenkins服务器的Maven构建。

这是我的pom设置:

            <plugin>
                <groupId>com.day.jcr.vault</groupId>
                <artifactId>content-package-maven-plugin</artifactId>
                <version>0.0.24</version>
                <configuration>
                    <targetURL>http://${aem.host}:${aem.port}/crx/packmgr/service.jsp</targetURL>
                    <failOnError>true</failOnError>
                    <failOnMissingEmbed>true</failOnMissingEmbed>
                    <useProxy>false</useProxy>
                </configuration>
            </plugin>

错误

[DEBUG]设置参数http.authentication.preemptive = true [DEBUG]已禁用代理(useProxy = false)或未配置代理 [DEBUG]设置参数http.connection.timeout = 30000 [DEBUG]抢先发送默认基本凭据 [DEBUG]使用BASIC @进行身份验证: [DEBUG]未使用HTTP元素字符集配置凭据字符集 [DEBUG]打开连接到: [DEBUG]&gt;&gt; &#34; POST /crx/packmgr/service.jsp HTTP / 1.1 [\ r] [\ n]&#34; [DEBUG]添加主机请求标头 [DEBUG]&gt;&gt; &#34; referer:about:blank [\ r] [\ n]&#34; [DEBUG]&gt;&gt; &#34;授权:基本YWRtaW46YWRtaW4 = [\ r] [\ n]&#34; [DEBUG]&gt;&gt; &#34;用户代理:Jakarta Commons-HttpClient / 3.1 [\ r] [\ n]&#34; [DEBUG]&gt;&gt; &#34;主持人:52.64.163.101:4502 [\ r] [\ n]&#34; [DEBUG]&gt;&gt; &#34;期待:100-继续[\ r] [\ n]&#34; [DEBUG]&gt;&gt; &#34;内容长度:10503730 [\ r] [\ n]&#34; [DEBUG]&gt;&gt; &#34;内容类型:multipart / form-data;边界= OpvAWdZ1OTJ_Xp9nZf9aKRDiC7BQTkw8NvdSNd [\ R] [\ n]的&#34; [DEBUG]&gt;&gt; &#34; [\ R] [\ n]的&#34; [DEBUG]&lt;&lt; &#34; HTTP / 1.1 401未经授权[\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34; HTTP / 1.1 401未经授权[\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34;日期:星期四,2015年10月22日03:20:33 GMT [\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34; WWW-Authenticate:基本领域=&#34;吊索(开发)&#34; [\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34;连接:关闭[\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34;服务器:Jetty(9.2.9.v20150224)[\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34; X-Powered-By:Jetty(9.2.9.v20150224)[\ r] [\ n]&#34; [DEBUG]&lt;&lt; &#34; [\ R] [\ n]的&#34; [DEBUG]需要授权 [DEBUG]按优先顺序支持的身份验证方案:[ntlm,digest,basic] [DEBUG] ntlm身份验证方案的挑战不可用 [DEBUG]摘要认证方案的挑战不可用 [INFO]选择了基本认证方案 [DEBUG]使用身份验证方案:基本 [DEBUG]已处理授权质询 [DEBUG]认证范围:BASIC&#39; Sling(开发)&#39; @: [DEBUG]需要凭据 [DEBUG]凭据提供程序不可用 [INFO]使用BASIC&#39; Sling(开发)&#39; @进行身份验证失败: [错误]请求http://:/ crx/packmgr/service.jsp失败,响应=未经授权 [DEBUG]应该响应指令关闭连接:close [DEBUG]将连接释放回连接管理器。

我认为http.authentication.preemptive = true导致问题。 有没有办法将其设置为false。 我使用过Jenkins环境变量,我认为我们没有com.day.jcr.vault的配置参数。

有关如何将此设置为false或任何其他建议来解决此问题的任何想法。

由于

1 个答案:

答案 0 :(得分:0)

要将抢先身份验证设置为false,您可以转到此处:

http://localhost:4502/system/console/configMgr

然后搜索:Apache Sling Authentication Service

编辑配置。

HTTP基本身份验证有一个下拉列表,您可以从中启用/禁用该值。