Package org.tmatesoft.svn.core.auth
Class BasicAuthenticationManager
java.lang.Object
org.tmatesoft.svn.core.auth.BasicAuthenticationManager
- All Implemented Interfaces:
ISVNAuthenticationManager
,ISVNProxyManager
,ISVNProxyManagerEx
,ISVNSSHHostVerifier
public class BasicAuthenticationManager
extends Object
implements ISVNAuthenticationManager, ISVNProxyManagerEx, ISVNSSHHostVerifier
The BasicAuthenticationManager is a simple implementation of
ISVNAuthenticationManager for storing and providing credentials without
using auth providers. A basic manager simply keeps the user credentials provided.
Also this manager may store a single proxy server options context (for HHTP requests
to go through a particular proxy server).
This manager does not use authentication providers (ISVNAuthenticationProvider) but only those credentials that was supplied to its constructor. Also this manager never caches credentials.
This manager is not used in SVNKit internals. You may use a default
manager (how to get it read javadoc for ISVNAuthenticationManager
),
this basic manager or implement your own one.
- Since:
- 1.2
- Version:
- 1.3
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate boolean
private List<SVNAuthentication>
private int
private String
private char[]
private int
private String
private List<SVNAuthentication>
private int
private List<SVNAuthentication>
private int
private List<SVNAuthentication>
private int
Fields inherited from interface org.tmatesoft.svn.core.auth.ISVNAuthenticationManager
PASSWORD, SSH, SSL, USERNAME
-
Constructor Summary
ConstructorsConstructorDescriptionBasicAuthenticationManager
(String userName, File keyFile, String passphrase, int portNumber) Deprecated.BasicAuthenticationManager
(String userName, String password) Deprecated.UsenewInstance(String, char[])
methodBasicAuthenticationManager
(SVNAuthentication[] authentications) Creates an auth manager given user credentials to use. -
Method Summary
Modifier and TypeMethodDescriptionvoid
acknowledgeAuthentication
(boolean accepted, String kind, String realm, SVNErrorMessage errorMessage, SVNAuthentication authentication) Does nothing.static void
acknowledgeAuthentication
(boolean accepted, String kind, String realm, SVNErrorMessage errorMessage, SVNAuthentication authentication, SVNURL accessedURL, ISVNAuthenticationManager authManager) Utility method to acknowledge successful or failed authentication attemptvoid
acknowledgeProxyContext
(boolean accepted, SVNErrorMessage errorMessage) Does nothing.void
acknowledgeTrustManager
(TrustManager manager) Does nothing.void
Dismiss cached sensitive data (e.g.private void
int
getConnectTimeout
(SVNRepository repository) Returns connection timeout value.getFirstAuthentication
(String kind, String realm, SVNURL url) Returns the first user's authentication credentials.getNextAuthentication
(String kind, String realm, SVNURL url) Returns next user authentication credentials.Returns the proxy host name.getProxyManager
(SVNURL url) Returns itself as a proxy manager.Deprecated.char[]
Returns the password to authenticate against the proxy server.int
Returns the proxy port number.Returns the proxy user name.int
getReadTimeout
(SVNRepository repository) Returns connection timeout value.getTrustManager
(SVNURL url) Returns null.boolean
Tells whether authentication should be tried despite not being challenged from the server yet.static BasicAuthenticationManager
newInstance
(String userName, char[] password) Creates an auth manager given a user credential - a username and password.static BasicAuthenticationManager
newInstance
(String userName, File keyFile, char[] passphrase, int portNumber) Creates an auth manager given a user credential - a username and an ssh private key.static BasicAuthenticationManager
newInstance
(SVNAuthentication[] credentials) Creates an auth manager given user credentials to use.void
setAuthenticationForced
(boolean forced) Sets whether authentication should be forced or not.void
Does nothing.void
setAuthentications
(SVNAuthentication[] authentications) Sets the given user credentials to this manager.void
Sets a proxy server context to this manager.void
Deprecated.void
verifyHostKey
(String hostName, int port, String keyAlgorithm, byte[] hostKey)
-
Field Details
-
myPasswordAuthentications
-
mySSHAuthentications
-
myUserNameAuthentications
-
mySSLAuthentications
-
mySSHIndex
private int mySSHIndex -
myPasswordIndex
private int myPasswordIndex -
myUserNameIndex
private int myUserNameIndex -
mySSLIndex
private int mySSLIndex -
myProxyHost
-
myProxyPort
private int myProxyPort -
myProxyUserName
-
myProxyPassword
private char[] myProxyPassword -
myIsAuthenticationForced
private boolean myIsAuthenticationForced
-
-
Constructor Details
-
BasicAuthenticationManager
Deprecated.UsenewInstance(String, char[])
methodCreates an auth manager given a user credential - a username and password.- Parameters:
userName
- a usernamepassword
- a password
-
BasicAuthenticationManager
Deprecated.UsenewInstance(String, File, char[], int)
methodCreates an auth manager given a user credential - a username and an ssh private key.- Parameters:
userName
- a usernamekeyFile
- a private key filepassphrase
- a password to the private keyportNumber
- a port number over which an ssh tunnel is established
-
BasicAuthenticationManager
Creates an auth manager given user credentials to use.- Parameters:
authentications
- user credentials
-
-
Method Details
-
newInstance
Creates an auth manager given a user credential - a username and password.- Parameters:
userName
- a usernamepassword
- a password- Since:
- 1.8.9
-
newInstance
public static BasicAuthenticationManager newInstance(String userName, File keyFile, char[] passphrase, int portNumber) Creates an auth manager given a user credential - a username and an ssh private key.- Parameters:
userName
- a usernamekeyFile
- a private key filepassphrase
- a password to the private keyportNumber
- a port number over which an ssh tunnel is established- Since:
- 1.8.9
-
newInstance
Creates an auth manager given user credentials to use.- Parameters:
credentials
- user credentials- Since:
- 1.8.9
-
acknowledgeAuthentication
public static void acknowledgeAuthentication(boolean accepted, String kind, String realm, SVNErrorMessage errorMessage, SVNAuthentication authentication, SVNURL accessedURL, ISVNAuthenticationManager authManager) throws SVNException Utility method to acknowledge successful or failed authentication attempt- Throws:
SVNException
-
setAuthentications
Sets the given user credentials to this manager.- Parameters:
authentications
- user credentials
-
setProxy
Deprecated.Sets a proxy server context to this manager.- Parameters:
proxyHost
- a proxy server hostnameproxyPort
- a proxy server portproxyUserName
- a username to supply to a proxy machineproxyPassword
- a password to supply to a proxy machine
-
setProxy
Sets a proxy server context to this manager.- Parameters:
proxyHost
- a proxy server hostnameproxyPort
- a proxy server portproxyUserName
- a username to supply to a proxy machineproxyPassword
- a password to supply to a proxy machine
-
getFirstAuthentication
public SVNAuthentication getFirstAuthentication(String kind, String realm, SVNURL url) throws SVNException Returns the first user's authentication credentials.- Specified by:
getFirstAuthentication
in interfaceISVNAuthenticationManager
- Parameters:
kind
- credentials kind; valid kinds areISVNAuthenticationManager.SSH
,ISVNAuthenticationManager.PASSWORD
,ISVNAuthenticationManager.USERNAME
,ISVNAuthenticationManager.SSL
,ISVNAuthenticationManager.USERNAME
realm
- authentication realmurl
- repository url- Returns:
- first user's credentials
- Throws:
SVNException
- exception withSVNErrorCode.RA_NOT_AUTHORIZED
error code - in case of invalidkind
-
getNextAuthentication
public SVNAuthentication getNextAuthentication(String kind, String realm, SVNURL url) throws SVNException Returns next user authentication credentials. This method is called whenever the first credentials returned bygetFirstAuthentication(String, String, SVNURL)
failed to authenticate the user.- Specified by:
getNextAuthentication
in interfaceISVNAuthenticationManager
- Parameters:
kind
- credentials kind; valid kinds areISVNAuthenticationManager.SSH
,ISVNAuthenticationManager.PASSWORD
,ISVNAuthenticationManager.USERNAME
,ISVNAuthenticationManager.SSL
,ISVNAuthenticationManager.USERNAME
realm
- authentication realmurl
- repository url- Returns:
- next user's authentication credentials
- Throws:
SVNException
- exception withSVNErrorCode.RA_NOT_AUTHORIZED
error code - in case of invalidkind
-
setAuthenticationProvider
Does nothing.- Specified by:
setAuthenticationProvider
in interfaceISVNAuthenticationManager
- Parameters:
provider
-
-
getProxyManager
Returns itself as a proxy manager.- Specified by:
getProxyManager
in interfaceISVNAuthenticationManager
- 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
-
getTrustManager
Returns null.- Specified by:
getTrustManager
in interfaceISVNAuthenticationManager
- Parameters:
url
- repository url- Returns:
- null
- Throws:
SVNException
- Since:
- 1.2.0
-
acknowledgeAuthentication
public void acknowledgeAuthentication(boolean accepted, String kind, String realm, SVNErrorMessage errorMessage, SVNAuthentication authentication) Does nothing.- Specified by:
acknowledgeAuthentication
in interfaceISVNAuthenticationManager
- Parameters:
accepted
-kind
-realm
-errorMessage
-authentication
-
-
acknowledgeTrustManager
Does nothing.- Specified by:
acknowledgeTrustManager
in interfaceISVNAuthenticationManager
- Parameters:
manager
-- Since:
- 1.2.0
-
isAuthenticationForced
public boolean isAuthenticationForced()Tells whether authentication should be tried despite not being challenged from the server yet. By default the return value is always false until this behavior is changed via a call tosetAuthenticationForced(boolean)
.- Specified by:
isAuthenticationForced
in interfaceISVNAuthenticationManager
- Returns:
- authentication force flag
-
setAuthenticationForced
public void setAuthenticationForced(boolean forced) Sets whether authentication should be forced or not.- Parameters:
forced
- authentication force flag- See Also:
-
getProxyHost
Returns the proxy host name.- Specified by:
getProxyHost
in interfaceISVNProxyManager
- Returns:
- the proxy host argument value specified via the
setProxy(String, int, String, String)
method
-
getProxyPort
public int getProxyPort()Returns the proxy port number.- Specified by:
getProxyPort
in interfaceISVNProxyManager
- Returns:
- the proxy port argument value specified via the
setProxy(String, int, String, String)
method
-
getProxyUserName
Returns the proxy user name.- Specified by:
getProxyUserName
in interfaceISVNProxyManager
- Returns:
- the proxy user name argument value specified via the
setProxy(String, int, String, String)
method
-
getProxyPassword
Deprecated.Returns the password to authenticate against the proxy server.- Specified by:
getProxyPassword
in interfaceISVNProxyManager
- Returns:
- the proxy password argument value specified via the
setProxy(String, int, String, String)
method
-
getProxyPasswordValue
public char[] getProxyPasswordValue()Returns the password to authenticate against the proxy server.- Specified by:
getProxyPasswordValue
in interfaceISVNProxyManagerEx
- Returns:
- the proxy password argument value specified via the
setProxy(String, int, String, String)
method - Since:
- 1.8.9
-
acknowledgeProxyContext
Does nothing.- Specified by:
acknowledgeProxyContext
in interfaceISVNProxyManager
- Parameters:
accepted
-errorMessage
-
-
getReadTimeout
Returns connection timeout value. This implementation returns a read timeout value equal to 3600 seconds forhttp
orhttps
access operations. Ifrepository
uses a different access protocol, the return value will be 0.- Specified by:
getReadTimeout
in interfaceISVNAuthenticationManager
- Parameters:
repository
- repository access object- Returns:
- read timeout value in milliseconds
- Since:
- 1.2.0
-
getConnectTimeout
Returns connection timeout value. This implementation returns a connection timeout value equal to 60 seconds forhttp
orhttps
access operations. Ifrepository
uses a different access protocol, the return value will be 0.- Specified by:
getConnectTimeout
in interfaceISVNAuthenticationManager
- Parameters:
repository
- repository access object- Returns:
- connection timeout value in milliseconds
- Since:
- 1.2.0
-
verifyHostKey
public void verifyHostKey(String hostName, int port, String keyAlgorithm, byte[] hostKey) throws SVNException - Specified by:
verifyHostKey
in interfaceISVNSSHHostVerifier
- Throws:
SVNException
-
dismissSensitiveData
public void dismissSensitiveData()Dismiss cached sensitive data (e.g. password) Calling this method clears and removes all credentials stored in this authentication manager.- Since:
- 1.8.9
-
dismissSensitiveData
-
newInstance(String, File, char[], int)
method