Class RepositoryUserManager

java.lang.Object
org.eclipse.net4j.util.event.Notifier
org.eclipse.net4j.util.lifecycle.Lifecycle
org.eclipse.emf.cdo.spi.server.RepositoryUserManager
All Implemented Interfaces:
org.eclipse.net4j.util.event.INotifier, org.eclipse.net4j.util.event.INotifier.INotifier2, org.eclipse.net4j.util.lifecycle.IDeactivateable, org.eclipse.net4j.util.lifecycle.ILifecycle, org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation, org.eclipse.net4j.util.security.IAuthenticator, org.eclipse.net4j.util.security.IUserManager

public abstract class RepositoryUserManager extends org.eclipse.net4j.util.lifecycle.Lifecycle implements org.eclipse.net4j.util.security.IUserManager, org.eclipse.net4j.util.security.IAuthenticator
Repository-scoped source of user credentials that also authenticates clients against those credentials. The managed container injects the repository context so subclasses can retrieve a user's password from the repository they serve.
Since:
4.0
Author:
Eike Stepper
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Class
    Description
    static class 
    Factory for installing a repository-backed RepositoryUserManager as an authenticator.
    static class 
    Container post-processor that injects the managed container into each repository user manager.
    static class 
    Factory for installing a repository-backed RepositoryUserManager as a user manager.

    Nested classes/interfaces inherited from class org.eclipse.net4j.util.event.Notifier

    org.eclipse.net4j.util.event.Notifier.Cancelation

    Nested classes/interfaces inherited from interface org.eclipse.net4j.util.lifecycle.ILifecycle

    org.eclipse.net4j.util.lifecycle.ILifecycle.DeferrableActivation

    Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

    org.eclipse.net4j.util.event.INotifier.INotifier2
  • Field Summary

    Fields inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

    USE_LABEL
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addUser(String userID, char[] password)
     
    void
    authenticate(String userID, char[] password)
     
    byte[]
    encrypt(String userID, byte[] data, String algorithmName, byte[] salt, int count)
     
    protected char[]
     
    protected abstract char[]
    getPassword(IRepository repository, String userID)
     
    protected IRepository
    getRepository(org.eclipse.net4j.util.container.IManagedContainer container, String repositoryName)
     
    static void
    prepareContainer(org.eclipse.net4j.util.container.IManagedContainer container, RepositoryUserManager.RepositoryUserManagerFactory factory)
     
    void
     

    Methods inherited from class org.eclipse.net4j.util.lifecycle.Lifecycle

    activate, checkActive, checkArg, checkArg, checkInactive, checkNull, checkState, checkState, deactivate, deferredActivate, doActivate, doAfterActivate, doBeforeActivate, doBeforeDeactivate, doDeactivate, dump, getLifecycleState, isActive, isDeferredActivation, toString

    Methods inherited from class org.eclipse.net4j.util.event.Notifier

    addListener, addUniqueListener, fireEvent, fireEvent, fireEvent, fireThrowable, firstListenerAdded, getListeners, getNotificationService, hasListener, hasListeners, lastListenerRemoved, listenerAdded, listenerRemoved, removeListener

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.eclipse.net4j.util.event.INotifier

    addListener, getListeners, hasListeners, removeListener
  • Constructor Details

    • RepositoryUserManager

      protected RepositoryUserManager()
  • Method Details

    • addUser

      public void addUser(String userID, char[] password)
      Specified by:
      addUser in interface org.eclipse.net4j.util.security.IUserManager
    • removeUser

      public void removeUser(String userID)
      Specified by:
      removeUser in interface org.eclipse.net4j.util.security.IUserManager
    • encrypt

      public byte[] encrypt(String userID, byte[] data, String algorithmName, byte[] salt, int count) throws SecurityException
      Specified by:
      encrypt in interface org.eclipse.net4j.util.security.IUserManager
      Throws:
      SecurityException
    • authenticate

      public void authenticate(String userID, char[] password) throws SecurityException
      Specified by:
      authenticate in interface org.eclipse.net4j.util.security.IAuthenticator
      Throws:
      SecurityException
      Since:
      4.2
    • getRepository

      protected IRepository getRepository(org.eclipse.net4j.util.container.IManagedContainer container, String repositoryName)
    • getPassword

      protected char[] getPassword(String userID)
      Since:
      4.2
    • getPassword

      protected abstract char[] getPassword(IRepository repository, String userID)
    • prepareContainer

      public static void prepareContainer(org.eclipse.net4j.util.container.IManagedContainer container, RepositoryUserManager.RepositoryUserManagerFactory factory)