org.apache.http.impl.auth

## Class NTLMScheme

- java.lang.Object
- - org.apache.http.impl.auth.AuthSchemeBase
  - - org.apache.http.impl.auth.NTLMScheme

All Implemented Interfaces:
  AuthScheme, ContextAwareAuthScheme

    public class NTLMScheme
    extends AuthSchemeBase

NTLM is a proprietary authentication scheme developed by Microsoft and optimized for Windows platforms.

Since:
  4.0

### Field Summary

### Fields inherited from class org.apache.http.impl.auth.AuthSchemeBase

`challengeState`

### Constructor Summary

Constructors
Constructor and Description
`NTLMScheme()`
`NTLMScheme(NTLMEngine engine)`

### Method Summary

Methods
`org.apache.http.Header` `authenticate(Credentials credentials, org.apache.http.HttpRequest request)` Produces an authorization string for the given set of `Credentials`.
`String` `getParameter(String name)` Returns authentication parameter with the given name, if available.
`String` `getRealm()` Returns authentication realm.
`String` `getSchemeName()` Returns textual designation of the given authentication scheme.
`boolean` `isComplete()` Authentication process may involve a series of challenge-response exchanges.
`boolean` `isConnectionBased()` Tests if the authentication scheme is provides authorization on a per connection basis instead of usual per request basis
`protected void` `parseChallenge(org.apache.http.util.CharArrayBuffer buffer, int beginIndex, int endIndex)`

### Methods inherited from class org.apache.http.impl.auth.AuthSchemeBase

`authenticate, getChallengeState, isProxy, processChallenge, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Constructor Detail

#### NTLMScheme

    public NTLMScheme(NTLMEngine engine)

#### NTLMScheme

    public NTLMScheme()

Since:
  4.3

### Method Detail

#### getSchemeName

    public String getSchemeName()

Description copied from interface: `AuthScheme`
Returns textual designation of the given authentication scheme.

Returns:
  the name of the given authentication scheme

#### getParameter

    public String getParameter(String name)

Description copied from interface: `AuthScheme`
Returns authentication parameter with the given name, if available.

Parameters:
  `name` - The name of the parameter to be returned
Returns:
  the parameter with the given name

#### getRealm

    public String getRealm()

Description copied from interface: `AuthScheme`
Returns authentication realm. If the concept of an authentication realm is not applicable to the given authentication scheme, returns `null`.

Returns:
  the authentication realm

#### isConnectionBased

    public boolean isConnectionBased()

Description copied from interface: `AuthScheme`
Tests if the authentication scheme is provides authorization on a per connection basis instead of usual per request basis

Returns:
  `true` if the scheme is connection based, `false` if the scheme is request based.

#### parseChallenge

    protected void parseChallenge(org.apache.http.util.CharArrayBuffer buffer,
                      int beginIndex,
                      int endIndex)
                           throws MalformedChallengeException

Specified by:
  `parseChallenge` in class `AuthSchemeBase`
Throws:
  `MalformedChallengeException`

#### authenticate

    public org.apache.http.Header authenticate(Credentials credentials,
                                      org.apache.http.HttpRequest request)
                                        throws AuthenticationException

Description copied from interface: `AuthScheme`
Produces an authorization string for the given set of `Credentials`.

Parameters:
  `credentials` - The set of credentials to be used for athentication
  `request` - The request being authenticated
Returns:
  the authorization string
Throws:
  `AuthenticationException` - if authorization string cannot be generated due to an authentication failure

#### isComplete

    public boolean isComplete()

Description copied from interface: `AuthScheme`
Authentication process may involve a series of challenge-response exchanges. This method tests if the authorization process has been completed, either successfully or unsuccessfully, that is, all the required authorization challenges have been processed in their entirety.

Returns:
  `true` if the authentication process has been completed, `false` otherwise.