Troubleshooting Integrated Windows Authentication errors in the Eclipse IDE

Applies to: VisualSVN Server 3.8 and later

VisualSVN Server supports Integrated Windows Authentication (IWA) that enables the Negotiate (SPNEGO) security protocol and makes Kerberos and NTLM authentication protocols available for end users. Integrated Windows Authentication is native on Windows and works out of the box, but Java-based clients such as Eclipse IDE can experience some issues. These issues and steps to resolve them are described below.

Symptoms

Eclipse displays the following errors when you contact VisualSVN Server:

Subversive plugin for Eclipse IDE

Authentication error.
svn: E170001: Negotiate authentication failed: 'No valid credentials provided'

Subclipse plugin for Eclipse IDE

org.apache.subversion.javahl.ClientException: svn: E170001: Negotiate
authentication failed: 'No valid credentials provided'

Cause

The error occurs because the Subversion plugin enabled in Eclipse uses SVN connector that does not fully support Integrated Windows Authentication. SVN connector is a special Java library that makes it possible to access the Subversion repositories:

  • JavaHL connector on Windows supports Integrated Windows Authentication. JavaHL is a standard Java binding provided by Apache Subversion. It provides native JNI-based implementation of Subversion based on the official Subversion libraries.
  • SVNKit connector does not fully support Integrated Windows Authentication and displays authentication errors. SVNKit is a pure Java Subversion implementation, and it is not based on the official Subversion libraries.

Resolution

Eclipse IDE supports Subversion via plugins - Subversive and Subclipse. These Java-based clients may be configured to use two different SVN connectors - SVNKit or JavaHL. To resolve the issue, you should configure your Subversion plugin to use the JavaHL SVN connector.

Below you can find instructions on how to install and enable JavaHL in Subversive and Subclipse plugins.

Enable JavaHL in Subversive plug-in for Eclipse

Subversive is one of the plugins for Eclipse that enables support for Subversion. By default, Subversive does not install the JavaHL SVN Connector, and you may need to install it manually. For an official instruction, please consider the Subversive Installation Instructions page. Alternative instructions are given below.

Part 1. Install JavaHL SVN connector in Subversive

Perform the following steps to install the JavaHL SVN connector for the Subversive plugin:

  1. Start Eclipse IDE.
  2. On the menu bar, click Help and Install New Software.
  3. Click Add.
  4. Enter the http://community.polarion.com/projects/subversive/download/eclipse/6.0/neon-site/ URL to the Subversive SVN connectors update site to the Location field and click OK.
    Tip
  5. Clear the Group items by category checkbox.
  6. Select the appropriate SVN Connectors to install. We recommend that you select the latest available JavaHL connector version. At the time of writing this article, the latest version is 1.9.3.
    • If you use Windows 64-bit: select JavaHL Win64 Binaries and Native JavaHL 1.9 Implementation.
    • If you use Windows 32-bit: select JavaHL Win32 Binaries and Native JavaHL 1.9 Implementation.
  7. Click Next and follow the steps of the installation wizard to finish the installation.

The JavaHL SVN Connector will be installed and become available in the Subversive plugin's settings.

Part 2. Activate JavaHL SVN connector in Subversive

When the JavaHL SVN connector is already installed, perform the following steps to activate it:

  1. Start Eclipse IDE.
  2. On the menu bar, click Window and Preferences.
  3. Click Team and SVN.
  4. Click the SVN Connector tab.
  5. Select Native JavaHL SVN Connector.
  6. Click Apply.

Subversive should start using native JavaHL SVN Connector, and Integrated Windows Authentication becomes available in Subversive.

Enable JavaHL in Subclipse plug-in for Eclipse

Subclipse is one of the plugins for Eclipse that enables support for Subversion in the Eclipse IDE. Subclipse installs and enables the Native JavaHL SVN Connector, by default. Therefore, default and up to date installations of Subclipse should support Integrated Windows Authentication out of the box. However, you may need to install and enable the Native JavaHL SVN Connector in case it was removed.

Part 1. Install JavaHL connector in Subclipse

When JavaHL is not available in Subclipse, follow these steps to install it:

  1. Start Eclipse IDE.
  2. On the menu bar, click Help and Install New Software.
  3. Select the Subclipse update site in the Work with drop down (e.g., Subclipse Latest 4.2.x Release - https://dl.bintray.com/subclipse/releases/subclipse/4.2.x/).
    Tip
    You can also find the actual URL at the corresponding section of the Subclipse project's wiki page.
  4. Select Subversion JavaHL Windows Native DLLs (or Subversion JavaHL Native Library Adapter for legacy Subclipse versions).
  5. Click Next and follow the steps of the installation wizard finish the installation.

The JavaHL SVN Connector will be installed and becomes available in the Subclipse plugin's settings.

Part 2. Activate JavaHL connector in Subclipse

Follow these steps to enable JavaHL SVN connector in the Subclipse plugin:

  1. Start Eclipse IDE.
  2. On the menu bar, click Window and Preferences.
  3. Click Team and SVN.
  4. Under SVN interface select the JavaHL (JNI) client.
  5. Click Apply.

Subclipse should start using native JavaHL SVN Connector, and Integrated Windows Authentication becomes available in Subclipse.

See also

KB39: Understanding VisualSVN Server Authentication options
KB43: How to configure Integrated Windows Authentication in VisualSVN Server

Last Modified: