diff options
author | Eike Stepper | 2012-12-28 16:53:06 +0000 |
---|---|---|
committer | Eike Stepper | 2012-12-28 16:53:06 +0000 |
commit | 7fdb35be120e74cc8f40b9bf7fad41370b5bbdbf (patch) | |
tree | bce74cb79bc9f78b80ab4e2a1ec8f49d8a9a57ed /plugins/org.eclipse.emf.cdo | |
parent | 994acc27bc77822d4066ed49a96b651be26865e1 (diff) | |
download | cdo-7fdb35be120e74cc8f40b9bf7fad41370b5bbdbf.tar.gz cdo-7fdb35be120e74cc8f40b9bf7fad41370b5bbdbf.tar.xz cdo-7fdb35be120e74cc8f40b9bf7fad41370b5bbdbf.zip |
[299275] Flexible Approach for an Authentication Mechanism drops/I20121228-1208
https://bugs.eclipse.org/bugs/show_bug.cgi?id=299275
Diffstat (limited to 'plugins/org.eclipse.emf.cdo')
5 files changed, 110 insertions, 24 deletions
diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSessionConfiguration.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSessionConfiguration.java index 5a5b66a33e..fdafe5d855 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSessionConfiguration.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSessionConfiguration.java @@ -13,11 +13,11 @@ package org.eclipse.emf.cdo.session; import org.eclipse.emf.cdo.common.CDOCommonSession.Options.LockNotificationMode; import org.eclipse.emf.cdo.common.CDOCommonSession.Options.PassiveUpdateMode; import org.eclipse.emf.cdo.common.id.CDOIDGenerator; -import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator; import org.eclipse.emf.cdo.view.CDOFetchRuleManager; import org.eclipse.net4j.util.event.IEvent; import org.eclipse.net4j.util.event.INotifier; +import org.eclipse.net4j.util.security.IPasswordCredentialsProvider; /** * Configures and opens new {@link CDOSession sessions}. @@ -125,8 +125,21 @@ public interface CDOSessionConfiguration extends INotifier /** * Returns the authenticator of this configuration, never <code>null</code>. + * + * @deprecated As of 4.2 use {@link #getCredentialsProvider()} and {@link #setCredentialsProvider(IPasswordCredentialsProvider)}, respectively + */ + @Deprecated + public org.eclipse.emf.cdo.common.protocol.CDOAuthenticator getAuthenticator(); + + /** + * @since 4.2 + */ + public IPasswordCredentialsProvider getCredentialsProvider(); + + /** + * @since 4.2 */ - public CDOAuthenticator getAuthenticator(); + public void setCredentialsProvider(IPasswordCredentialsProvider credentialsProvider); /** * Returns <code>true</code> if the session opened by {@link #openSession()} will be automatically activated, diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOAuthenticatorImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOAuthenticatorImpl.java index 79a1bf13df..295cb1a476 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOAuthenticatorImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOAuthenticatorImpl.java @@ -10,9 +10,6 @@ */ package org.eclipse.emf.internal.cdo.session; -import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator; -import org.eclipse.emf.cdo.spi.common.CDOAuthenticationResult; - import org.eclipse.net4j.util.security.IPasswordCredentials; import org.eclipse.net4j.util.security.IPasswordCredentialsProvider; import org.eclipse.net4j.util.security.SecurityUtil; @@ -20,7 +17,8 @@ import org.eclipse.net4j.util.security.SecurityUtil; /** * @author Eike Stepper */ -public class CDOAuthenticatorImpl implements CDOAuthenticator +@Deprecated +public class CDOAuthenticatorImpl implements org.eclipse.emf.cdo.common.protocol.CDOAuthenticator { private String encryptionAlgorithmName = SecurityUtil.PBE_WITH_MD5_AND_DES; @@ -74,7 +72,7 @@ public class CDOAuthenticatorImpl implements CDOAuthenticator this.credentialsProvider = credentialsProvider; } - public CDOAuthenticationResult authenticate(byte[] randomToken) + public org.eclipse.emf.cdo.spi.common.CDOAuthenticationResult authenticate(byte[] randomToken) { if (credentialsProvider == null) { @@ -86,7 +84,7 @@ public class CDOAuthenticatorImpl implements CDOAuthenticator { String userID = credentials.getUserID(); byte[] cryptedToken = encryptToken(credentials.getPassword(), randomToken); - return new CDOAuthenticationResult(userID, cryptedToken); + return new org.eclipse.emf.cdo.spi.common.CDOAuthenticationResult(userID, cryptedToken); } return null; diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionConfigurationImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionConfigurationImpl.java index 18a2ced401..e723e0e3f2 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionConfigurationImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionConfigurationImpl.java @@ -16,7 +16,6 @@ import org.eclipse.emf.cdo.common.branch.CDOBranchManager; import org.eclipse.emf.cdo.common.commit.CDOCommitInfoManager; import org.eclipse.emf.cdo.common.id.CDOIDGenerator; import org.eclipse.emf.cdo.common.model.CDOPackageRegistry; -import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator; import org.eclipse.emf.cdo.common.revision.CDORevisionManager; import org.eclipse.emf.cdo.session.CDOSession; import org.eclipse.emf.cdo.session.CDOSessionConfiguration; @@ -32,6 +31,7 @@ import org.eclipse.net4j.util.event.IListener; import org.eclipse.net4j.util.event.Notifier; import org.eclipse.net4j.util.lifecycle.ILifecycle; import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter; +import org.eclipse.net4j.util.security.IPasswordCredentialsProvider; import org.eclipse.emf.spi.cdo.InternalCDOSession; import org.eclipse.emf.spi.cdo.InternalCDOSessionConfiguration; @@ -49,7 +49,7 @@ public abstract class CDOSessionConfigurationImpl extends Notifier implements In private LockNotificationMode lockNotificationMode = LockNotificationMode.IF_REQUIRED_BY_VIEWS; - private CDOAuthenticator authenticator = new CDOAuthenticatorImpl(); + private IPasswordCredentialsProvider credentialsProvider; private CDOSession.ExceptionHandler exceptionHandler; @@ -155,15 +155,64 @@ public abstract class CDOSessionConfigurationImpl extends Notifier implements In this.lockNotificationMode = lockNotificationMode; } - public CDOAuthenticator getAuthenticator() + @Deprecated + public org.eclipse.emf.cdo.common.protocol.CDOAuthenticator getAuthenticator() { - return authenticator; + return new org.eclipse.emf.cdo.common.protocol.CDOAuthenticator() + { + public String getEncryptionAlgorithmName() + { + return null; + } + + public void setEncryptionAlgorithmName(String encryptionAlgorithmName) + { + } + + public byte[] getEncryptionSaltBytes() + { + return null; + } + + public void setEncryptionSaltBytes(byte[] encryptionSaltBytes) + { + } + + public int getEncryptionIterationCount() + { + return 0; + } + + public void setEncryptionIterationCount(int encryptionIterationCount) + { + } + + public IPasswordCredentialsProvider getCredentialsProvider() + { + return CDOSessionConfigurationImpl.this.getCredentialsProvider(); + } + + public void setCredentialsProvider(IPasswordCredentialsProvider credentialsProvider) + { + CDOSessionConfigurationImpl.this.setCredentialsProvider(credentialsProvider); + } + + public org.eclipse.emf.cdo.spi.common.CDOAuthenticationResult authenticate(byte[] randomToken) + { + throw new UnsupportedOperationException(); + } + }; + } + + public IPasswordCredentialsProvider getCredentialsProvider() + { + return credentialsProvider; } - public void setAuthenticator(CDOAuthenticator authenticator) + public void setCredentialsProvider(IPasswordCredentialsProvider credentialsProvider) { checkNotOpen(); - this.authenticator = authenticator; + this.credentialsProvider = credentialsProvider; } public CDOSession.ExceptionHandler getExceptionHandler() @@ -324,7 +373,7 @@ public abstract class CDOSessionConfigurationImpl extends Notifier implements In session.setExceptionHandler(exceptionHandler); session.setFetchRuleManager(fetchRuleManager); session.setIDGenerator(idGenerator); - session.setAuthenticator(authenticator); + session.setCredentialsProvider(credentialsProvider); session.setRevisionManager(revisionManager); session.setBranchManager(branchManager); session.setCommitInfoManager(commitInfoManager); diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java index c773c24cfc..a6b38604a7 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java @@ -31,7 +31,6 @@ import org.eclipse.emf.cdo.common.lob.CDOLobStore; import org.eclipse.emf.cdo.common.lock.CDOLockChangeInfo; import org.eclipse.emf.cdo.common.model.CDOPackageUnit; import org.eclipse.emf.cdo.common.model.EMFUtil; -import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator; import org.eclipse.emf.cdo.common.revision.CDOElementProxy; import org.eclipse.emf.cdo.common.revision.CDOIDAndVersion; import org.eclipse.emf.cdo.common.revision.CDOList; @@ -109,6 +108,7 @@ import org.eclipse.net4j.util.lifecycle.LifecycleEventAdapter; import org.eclipse.net4j.util.lifecycle.LifecycleUtil; import org.eclipse.net4j.util.om.log.OMLogger; import org.eclipse.net4j.util.options.OptionsEvent; +import org.eclipse.net4j.util.security.IPasswordCredentialsProvider; import org.eclipse.emf.common.util.ECollections; import org.eclipse.emf.ecore.EPackage; @@ -197,7 +197,7 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme private boolean mainBranchLocal; - private CDOAuthenticator authenticator; + private IPasswordCredentialsProvider credentialsProvider; private InternalCDORemoteSessionManager remoteSessionManager; @@ -365,14 +365,26 @@ public abstract class CDOSessionImpl extends CDOTransactionContainerImpl impleme this.fetchRuleManager = fetchRuleManager; } - public CDOAuthenticator getAuthenticator() + @Deprecated + public org.eclipse.emf.cdo.common.protocol.CDOAuthenticator getAuthenticator() + { + throw new UnsupportedOperationException(); + } + + @Deprecated + public void setAuthenticator(org.eclipse.emf.cdo.common.protocol.CDOAuthenticator authenticator) + { + throw new UnsupportedOperationException(); + } + + public IPasswordCredentialsProvider getCredentialsProvider() { - return authenticator; + return credentialsProvider; } - public void setAuthenticator(CDOAuthenticator authenticator) + public void setCredentialsProvider(IPasswordCredentialsProvider credentialsProvider) { - this.authenticator = authenticator; + this.credentialsProvider = credentialsProvider; } public boolean isMainBranchLocal() diff --git a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java index 4b8e402640..f5755eebe7 100644 --- a/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java +++ b/plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java @@ -19,7 +19,6 @@ import org.eclipse.emf.cdo.common.id.CDOID; import org.eclipse.emf.cdo.common.id.CDOIDGenerator; import org.eclipse.emf.cdo.common.lob.CDOLobStore; import org.eclipse.emf.cdo.common.lock.CDOLockChangeInfo; -import org.eclipse.emf.cdo.common.protocol.CDOAuthenticator; import org.eclipse.emf.cdo.common.revision.CDORevision; import org.eclipse.emf.cdo.session.CDORepositoryInfo; import org.eclipse.emf.cdo.session.CDOSession; @@ -36,6 +35,7 @@ import org.eclipse.emf.cdo.spi.common.revision.InternalCDORevisionManager.Revisi import org.eclipse.emf.cdo.view.CDOFetchRuleManager; import org.eclipse.net4j.util.lifecycle.ILifecycle; +import org.eclipse.net4j.util.security.IPasswordCredentialsProvider; import org.eclipse.emf.ecore.EStructuralFeature; import org.eclipse.emf.spi.cdo.CDOSessionProtocol.RefreshSessionResult; @@ -63,13 +63,27 @@ public interface InternalCDOSession extends CDOSession, PackageProcessor, Packag /** * @since 4.0 + * @deprecated As of 4.2 use {@link #getCredentialsProvider()} */ - public CDOAuthenticator getAuthenticator(); + @Deprecated + public org.eclipse.emf.cdo.common.protocol.CDOAuthenticator getAuthenticator(); /** * @since 4.0 + * @deprecated As of 4.2 use {@link #setCredentialsProvider(IPasswordCredentialsProvider)} + */ + @Deprecated + public void setAuthenticator(org.eclipse.emf.cdo.common.protocol.CDOAuthenticator authenticator); + + /** + * @since 4.2 + */ + public IPasswordCredentialsProvider getCredentialsProvider(); + + /** + * @since 4.2 */ - public void setAuthenticator(CDOAuthenticator authenticator); + public void setCredentialsProvider(IPasswordCredentialsProvider credentialsProvider); public InternalCDOPackageRegistry getPackageRegistry(); |