[ http://jira.codehaus.org/browse/MNG-4792?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=257442#action_257442 ]
Tarjei Skorgenes edited comment on MNG-4792 at 2/23/11 8:14 AM: ---------------------------------------------------------------- Having hit the same problem as you I've come to the conclusion that there are multiple layers of problems here that hinders preemptive authentication from working: 1) The configuration listed in [1] is never injected into the HttpMethodConfiguration-objects created by Plexus during configuration of HttpWagon. This is caused by the fact that the params-field in HttpMethodConfiguration is of type Properties and PropertiesConverter does not recognize the param-element. Replacing param with property fixes this part of the problem: {code:xml} <configuration> <wagonProvider>httpclient</wagonProvider> <httpConfiguration> <put> <params> <property> <name>http.authentication.preemptive</name> <value>%b,true</value> </property> </params> </put> </httpConfiguration> </configuration> {code} 2) Once properly configured Http Client ignores the preemptive-parameter completely. This is caused by the fact that the check for preemptive authentication in HTTP Client's HttpMethodDirector (line 158) is not performed on the PutMethod-object. The check is done one the HttpClientParams-object and this one has not been configured by HttpWagon to include any information about preemptive-auth. was (Author: lothor): Having hit the same problem as you I've come to the conclusion that there are multiple layers of problems here that hinders preemptive authentication from working: 1) The configuration listed in [1] is never injected into the HttpMethodConfiguration-objects created by Plexus during configuration of HttpWagon. This is caused by the fact that the params-field in HttpMethodConfiguration is of type Properties and PropertiesConverter does not recognize the param-element. Replacing param with property fixes this part of the problem: {code:xml} <configuration><wagonProvider>httpclient</wagonProvider><httpConfiguration><put><params><property><name>http.authentication.preemptive</name><value>%b,true</value></property></params></put></httpConfiguration></configuration> {code} 2) Once properly configured Http Client ignores the preemptive-parameter completely. This is caused by the fact that the check for preemptive authentication in HTTP Client's HttpMethodDirector (line 158) is not performed on the PutMethod-object. The check is done one the HttpClientParams-object and this one has not been configured by HttpWagon to include any information about preemptive-auth. > Preemptive authentication doesn't work > -------------------------------------- > > Key: MNG-4792 > URL: http://jira.codehaus.org/browse/MNG-4792 > Project: Maven 2 & 3 > Issue Type: Bug > Components: Artifacts and Repositories > Affects Versions: 2.2.1 > Environment: Sun Java 1.6.0_21, Windows 7 > Reporter: Marcin Zajaczkowski > > It seems preemptive authentication in Maven using httpclient wagon provider > doesn't work. With configuration taken form [1] Maven knock to repository > (tested with Artifactory 2.2.5) as anonymous user. > <server> > <id>repo-id</id> > <username>user</username> > <password>pass</password> > <configuration> > <wagonProvider>httpclient</wagonProvider> > <httpConfiguration> > <put> > <params> > <param> > <name>http.authentication.preemptive</name> > <value>%b,true</value> > </param> > </params> > </put> > </httpConfiguration> > </configuration> > </server> > Confirmed by independent party also with Maven 2.2.1. I can sniff http > traffic if needed. > [1] - http://maven.apache.org/guides/mini/guide-http-settings.html -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira