Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEike Stepper2012-12-28 16:53:06 +0000
committerEike Stepper2012-12-28 16:53:06 +0000
commit7fdb35be120e74cc8f40b9bf7fad41370b5bbdbf (patch)
treebce74cb79bc9f78b80ab4e2a1ec8f49d8a9a57ed /plugins/org.eclipse.emf.cdo
parent994acc27bc77822d4066ed49a96b651be26865e1 (diff)
downloadcdo-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')
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/cdo/session/CDOSessionConfiguration.java17
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOAuthenticatorImpl.java10
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionConfigurationImpl.java63
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/internal/cdo/session/CDOSessionImpl.java24
-rw-r--r--plugins/org.eclipse.emf.cdo/src/org/eclipse/emf/spi/cdo/InternalCDOSession.java20
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();

Back to the top