[ 
https://issues.apache.org/jira/browse/WAGON-309?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Alessandro Gerlinger Romero updated WAGON-309:
----------------------------------------------
    Description: 
To use webdav over https with IIS 6, I changed two files to use NTCredentials. 
It is compatible with basic authentication.

-------
 WebDavWagon.java
 -------

try
 {
 httpURL = urlToHttpURL( url );
 /* - begin - before
 if ( hasAuthentication )
 {
 String userName = authenticationInfo.getUserName();
 String password = authenticationInfo.getPassword();

if ( userName != null && password != null )

{ //httpURL.setUserinfo( userName, password ); webdavResource.setCredentials( 
new NTCredentials(userName, password, "host.com", "host") ); }

}
 - end - before
 */
 CorrectedWebdavResource.setDefaultAction( CorrectedWebdavResource.NOACTION );
 webdavResource = new CorrectedWebdavResource( httpURL );

// begin - after 
 if ( hasAuthentication )
 {
 String userName = authenticationInfo.getUserName();
 String password = authenticationInfo.getPassword();

if ( userName != null && password != null )

{ //httpURL.setUserinfo( userName, password ); webdavResource.setCredentials( 
new NTCredentials(userName, password, repository.getHost(), 
repository.getHost()) ); }

}
 // end - after

-----------
 CorrectedWebdavResource.java
 -----------
 /**
 * FOWARD NTCREDENTIALS FOR EACH TRANSACTION
 * It is compatible with basic authentication.
 *
 * @see 
org.apache.webdav.lib.WebdavResource#generateTransactionHeader(org.apache.commons.httpclient.HttpMethod)
 */
 protected void generateTransactionHeader(HttpMethod method) {
 WebdavState state = (WebdavState) client.getState();

String host = null;
 String realm = null;
 if ( hostCredentials instanceof NTCredentials)

{ host = ((NTCredentials)hostCredentials).getHost(); realm = 
((NTCredentials)hostCredentials).getDomain(); }

state.setCredentials(realm, host, hostCredentials);
 super.generateTransactionHeader(method);
 }

*******
 LIMITATIONS
 *******
 Uses host as realm.

  was:
To use webdav over https with IIS 6, I changed two files to use NTCredentials. 
It is compatible with basic authentication.

-------
WebDavWagon.java
-------

        try
        {
            httpURL = urlToHttpURL( url );
/* - begin - before
            if ( hasAuthentication )
            {
                String userName = authenticationInfo.getUserName();
                String password = authenticationInfo.getPassword();

                if ( userName != null && password != null )
                {
                    //httpURL.setUserinfo( userName, password );
                        webdavResource.setCredentials( new 
NTCredentials(userName, password, "saows1701.accenture.com", "saows1701") );
                }
            }
  - end - before
*/
            CorrectedWebdavResource.setDefaultAction( 
CorrectedWebdavResource.NOACTION );
            webdavResource = new CorrectedWebdavResource( httpURL );

            // begin - after 
            if ( hasAuthentication )
            {
                String userName = authenticationInfo.getUserName();
                String password = authenticationInfo.getPassword();

                if ( userName != null && password != null )
                {

                    //httpURL.setUserinfo( userName, password );
                        webdavResource.setCredentials( new 
NTCredentials(userName, password, repository.getHost(), repository.getHost()) );
                }
            }
            // end - after 


-----------
CorrectedWebdavResource.java
-----------
    /**
     * FOWARD NTCREDENTIALS FOR EACH TRANSACTION
     * It is compatible with basic authentication.
     *
     * @see 
org.apache.webdav.lib.WebdavResource#generateTransactionHeader(org.apache.commons.httpclient.HttpMethod)
     */
    protected void generateTransactionHeader(HttpMethod method) {
        WebdavState state = (WebdavState) client.getState();

        String host = null;
        String realm = null;
        if ( hostCredentials instanceof NTCredentials){
                host = ((NTCredentials)hostCredentials).getHost();
                realm = ((NTCredentials)hostCredentials).getDomain();
        }

        state.setCredentials(realm, host, hostCredentials);
        super.generateTransactionHeader(method);
    }

*******
LIMITATIONS
*******
Uses host as realm.


> NTLM for webdav behind IIS
> --------------------------
>
>                 Key: WAGON-309
>                 URL: https://issues.apache.org/jira/browse/WAGON-309
>             Project: Maven Wagon
>          Issue Type: Improvement
>          Components: wagon-webdav
>    Affects Versions: 1.0-beta-2
>         Environment: client: jdk1.5
> server: iis 6, tomcat 5.5 and ssl
>            Reporter: Alessandro Gerlinger Romero
>            Priority: Minor
>             Fix For: waiting-for-feedback
>
>         Attachments: wagon-webdav.zip, wagon-webdav.zip
>
>
> To use webdav over https with IIS 6, I changed two files to use 
> NTCredentials. It is compatible with basic authentication.
> -------
>  WebDavWagon.java
>  -------
> try
>  {
>  httpURL = urlToHttpURL( url );
>  /* - begin - before
>  if ( hasAuthentication )
>  {
>  String userName = authenticationInfo.getUserName();
>  String password = authenticationInfo.getPassword();
> if ( userName != null && password != null )
> { //httpURL.setUserinfo( userName, password ); webdavResource.setCredentials( 
> new NTCredentials(userName, password, "host.com", "host") ); }
> }
>  - end - before
>  */
>  CorrectedWebdavResource.setDefaultAction( CorrectedWebdavResource.NOACTION );
>  webdavResource = new CorrectedWebdavResource( httpURL );
> // begin - after 
>  if ( hasAuthentication )
>  {
>  String userName = authenticationInfo.getUserName();
>  String password = authenticationInfo.getPassword();
> if ( userName != null && password != null )
> { //httpURL.setUserinfo( userName, password ); webdavResource.setCredentials( 
> new NTCredentials(userName, password, repository.getHost(), 
> repository.getHost()) ); }
> }
>  // end - after
> -----------
>  CorrectedWebdavResource.java
>  -----------
>  /**
>  * FOWARD NTCREDENTIALS FOR EACH TRANSACTION
>  * It is compatible with basic authentication.
>  *
>  * @see 
> org.apache.webdav.lib.WebdavResource#generateTransactionHeader(org.apache.commons.httpclient.HttpMethod)
>  */
>  protected void generateTransactionHeader(HttpMethod method) {
>  WebdavState state = (WebdavState) client.getState();
> String host = null;
>  String realm = null;
>  if ( hostCredentials instanceof NTCredentials)
> { host = ((NTCredentials)hostCredentials).getHost(); realm = 
> ((NTCredentials)hostCredentials).getDomain(); }
> state.setCredentials(realm, host, hostCredentials);
>  super.generateTransactionHeader(method);
>  }
> *******
>  LIMITATIONS
>  *******
>  Uses host as realm.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to