JavaSVN Home

org.tmatesoft.svn.core.auth
Interface ISVNAuthenticationManager

All Known Implementing Classes:
BasicAuthenticationManager

public interface ISVNAuthenticationManager

The ISVNAuthenticationManager is implemented by manager classes used by SVNRepository drivers for user authentication.

When an SVNRepository driver is created (for working with a repository over network), you should provide an authentication manager via a call to:

 import org.tmatesoft.svn.core.io.SVNRepository;
 import org.tmatesoft.svn.core.auth.ISVNAuthenticationManager;
 ...
     SVNRepository repository;
     ISVNAuthenticationManager authManger;
     ...
     
     repository.setAuthenticationManager(authManager);
     ...

A default auth manager implementation - org.tmatesoft.svn.core.internal.wc.DefaultSVNAuthenticationManager.

JavaSVN provides a default authentication manager. This manager has got the following features:

You may also specify your own auth provider (ISVNAuthenticationProvider) to this default manager, it will be used along with those default ones, that implement the features listed above.

If using the https:// protocol and if no user's auth provider is set to the default manager, accepted (trusted) server certificates are not cached on the disk, to enable server CAs caching, the user auth provider's acceptServerAuthentication() should return ISVNAuthenticationProvider.ACCEPTED.

How to get a default auth manager instance see SVNWCUtil.

Version:
1.0
Author:
TMate Software Ltd.
See Also:
SVNRepository

Field Summary
static String PASSWORD
          A simple password credential kind ("svn.simple")
static String SSH
          An ssh credential kind ("svn.ssh")
static String SSL
          An ssl credential kind ("svn.ssl")
 
Method Summary
 void acknowledgeAuthentication(boolean accepted, String kind, String realm, SVNErrorMessage errorMessage, SVNAuthentication authentication)
          Accepts the given authentication if it was successfully accepted by a repository server, or not if authentication failed.
 SVNAuthentication getFirstAuthentication(String kind, String realm, SVNURL url)
          Retrieves the first user credential.
 SVNAuthentication getNextAuthentication(String kind, String realm, SVNURL url)
          Retrieves the next user credential if the first try failed.
 ISVNProxyManager getProxyManager(SVNURL url)
          Returns a proxy manager that keeps settings for that proxy server over which HTTP requests are send to a repository server.
 ISVNSSLManager getSSLManager(SVNURL url)
          Returns the SSL manager for secure interracting with a repository.
 boolean isAuthenticationForced()
          Deprecated.  
 void setAuthenticationProvider(ISVNAuthenticationProvider provider)
          Sets a custom authentication provider that will provide user credentials for authentication.
 void setRuntimeStorage(ISVNAuthenticationStorage storage)
          Sets a specific runtime authentication storage manager.
 

Field Detail

PASSWORD

public static final String PASSWORD
A simple password credential kind ("svn.simple")

See Also:
Constant Field Values

SSH

public static final String SSH
An ssh credential kind ("svn.ssh")

See Also:
Constant Field Values

SSL

public static final String SSL
An ssl credential kind ("svn.ssl")

See Also:
Constant Field Values
Method Detail

setAuthenticationProvider

public void setAuthenticationProvider(ISVNAuthenticationProvider provider)
Sets a custom authentication provider that will provide user credentials for authentication.

Parameters:
provider - an authentication provider

getProxyManager

public ISVNProxyManager getProxyManager(SVNURL url)
                                 throws SVNException
Returns a proxy manager that keeps settings for that proxy server over which HTTP requests are send to a repository server.

A default auth manager uses proxy settings from the standard servers file.

Parameters:
url - a repository location that will be accessed over the proxy server for which a manager is needed
Returns:
a proxy manager
Throws:
SVNException

getSSLManager

public ISVNSSLManager getSSLManager(SVNURL url)
                             throws SVNException
Returns the SSL manager for secure interracting with a repository.

A default implementation of ISVNAuthenticationManager returns an SSL manager that uses CA and user certificate files specified in the standard servers file.

Even if the default manager's getSSLManager() method returns null for the given url, a secure context will be created anymore, but, of course no user certificate files are provided to a server as well as server's certificates are not checked.

Parameters:
url - a repository location to access
Returns:
an appropriate SSL manager
Throws:
SVNException

getFirstAuthentication

public SVNAuthentication getFirstAuthentication(String kind,
                                                String realm,
                                                SVNURL url)
                                         throws SVNException
Retrieves the first user credential. The scheme of retrieving credentials:

Parameters:
kind - a credential kind (PASSWORD or SSH)
realm - a repository authentication realm
url - a repository location that is to be accessed
Returns:
the first try user credential
Throws:
SVNException

getNextAuthentication

public SVNAuthentication getNextAuthentication(String kind,
                                               String realm,
                                               SVNURL url)
                                        throws SVNException
Retrieves the next user credential if the first try failed. The scheme of retrieving credentials:

Parameters:
kind - a credential kind (PASSWORD or SSH)
realm - a repository authentication realm
url - a repository location that is to be accessed
Returns:
the next try user credential
Throws:
SVNException

acknowledgeAuthentication

public void acknowledgeAuthentication(boolean accepted,
                                      String kind,
                                      String realm,
                                      SVNErrorMessage errorMessage,
                                      SVNAuthentication authentication)
Accepts the given authentication if it was successfully accepted by a repository server, or not if authentication failed. As a result the provided credential may be cached (authentication succeeded) or deleted from the cache (authentication failed).

Parameters:
accepted - true if the credential was accepted by the server, otherwise false
kind - a credential kind (PASSWORD or SSH)
realm - a repository authentication realm
errorMessage - the reason of the authentication failure
authentication - a user credential to accept/drop

setRuntimeStorage

public void setRuntimeStorage(ISVNAuthenticationStorage storage)
Sets a specific runtime authentication storage manager. This storage manager will be asked by this auth manager for cached credentials as well as used to cache new ones accepted recently.

Parameters:
storage - a custom auth storage manager

isAuthenticationForced

public boolean isAuthenticationForced()
Deprecated.  


JavaSVN Home

Copyright © 2004-2006 TMate Software Ltd. All Rights Reserved.