NTLM for webdav behind IIS
--------------------------
Key: WAGON-309
URL: http://jira.codehaus.org/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
Attachments: 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, "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.
--
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