org.apache.commons.httpclient.auth
Class NTLMScheme

java.lang.Object
  extended by org.apache.commons.httpclient.auth.NTLMScheme
All Implemented Interfaces:
AuthScheme

public class NTLMScheme
extends Object
implements AuthScheme

An implementation of the Microsoft proprietary NTLM authentication scheme. For a detailed explanation of the NTLM scheme please see http://davenport.sourceforge.net/ntlm.html.

Author:
Remy Maucherat, Rodney Waldhoff, Jeff Dever, Ortwin Gl???ck, Sean C. Sullivan, Adrian Sutton, Mike Bowler, Oleg Kalnichevski

Constructor Summary
NTLMScheme()
          Default constructor for the NTLM authentication scheme.
NTLMScheme(String challenge)
          Constructor for the NTLM authentication scheme.
 
Method Summary
 String authenticate(Credentials credentials, HttpMethod method)
          Produces NTLM authorization string for the given set of Credentials.
 String getParameter(String name)
          Returns the authentication parameter with the given name, if available.
 String getRealm()
          The concept of an authentication realm is not supported by the NTLM authentication scheme.
 String getSchemeName()
          Returns textual designation of the NTLM authentication scheme.
 boolean isComplete()
          Tests if the NTLM authentication process has been completed.
 boolean isConnectionBased()
          Returns true.
 void processChallenge(String challenge)
          Processes the NTLM challenge.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NTLMScheme

public NTLMScheme()
Default constructor for the NTLM authentication scheme.

Since:
3.0

NTLMScheme

public NTLMScheme(String challenge)
           throws MalformedChallengeException
Constructor for the NTLM authentication scheme.

Parameters:
challenge - The authentication challenge
Throws:
MalformedChallengeException - is thrown if the authentication challenge is malformed
Method Detail

processChallenge

public void processChallenge(String challenge)
                      throws MalformedChallengeException
Processes the NTLM challenge.

Specified by:
processChallenge in interface AuthScheme
Parameters:
challenge - the challenge string
Throws:
MalformedChallengeException - is thrown if the authentication challenge is malformed
Since:
3.0

isComplete

public boolean isComplete()
Tests if the NTLM authentication process has been completed.

Specified by:
isComplete in interface AuthScheme
Returns:
true if Basic authorization has been processed, false otherwise.
Since:
3.0

getSchemeName

public String getSchemeName()
Returns textual designation of the NTLM authentication scheme.

Specified by:
getSchemeName in interface AuthScheme
Returns:
ntlm

getRealm

public String getRealm()
The concept of an authentication realm is not supported by the NTLM authentication scheme. Always returns null.

Specified by:
getRealm in interface AuthScheme
Returns:
null

getParameter

public String getParameter(String name)
Returns the authentication parameter with the given name, if available.

There are no valid parameters for NTLM authentication so this method always returns null.

Specified by:
getParameter in interface AuthScheme
Parameters:
name - The name of the parameter to be returned
Returns:
the parameter with the given name

isConnectionBased

public boolean isConnectionBased()
Returns true. NTLM authentication scheme is connection based.

Specified by:
isConnectionBased in interface AuthScheme
Returns:
true.
Since:
3.0

authenticate

public String authenticate(Credentials credentials,
                           HttpMethod method)
                    throws AuthenticationException
Produces NTLM authorization string for the given set of Credentials.

Specified by:
authenticate in interface AuthScheme
Parameters:
credentials - The set of credentials to be used for athentication
method - The method being authenticated
Returns:
an NTLM authorization string
Throws:
InvalidCredentialsException - if authentication credentials are not valid or not applicable for this authentication scheme
AuthenticationException - if authorization string cannot be generated due to an authentication failure
Since:
3.0


Copyright (c) 1999-2005 - Apache Software Foundation