org.objectweb.cjdbc.controller.authentication
Class AuthenticationManager

java.lang.Object
  extended byorg.objectweb.cjdbc.controller.authentication.AuthenticationManager

public class AuthenticationManager
extends java.lang.Object

The AuthenticationManager manages the mapping between virtual login/password (to the VirtualDatabase) and the real login/password for each backend.

Version:
1.0
Author:
Emmanuel Cecchet, Mathieu Peltier, Nicolas Modrzyk

Field Summary
private  VirtualDatabaseUser adminUser
          Administrator user.
private  java.util.HashMap realLogins
          HashMap of HashMap of DatabaseBackendUser objects hashed by the backend name, hashed by their virtual database login.
private  java.util.ArrayList virtualLogins
          ArrayList of VirtualDatabaseUser objects.
 
Constructor Summary
AuthenticationManager()
          Creates a new AuthenticationManager instance.
 
Method Summary
 void addRealUser(java.lang.String vLogin, DatabaseBackendUser rUser)
          Associates a new database backend user to a virtual database login.
 void addVirtualUser(VirtualDatabaseUser vUser)
          Registers a new virtual database user.
 DatabaseBackendUser getDatabaseBackendUser(java.lang.String vLogin, java.lang.String backendName)
          Gets the DatabaseBackendUser given a virtual database login and a database backend logical name.
 java.lang.String getInformation()
          Method for debugging.
 java.lang.String getXmlInformation()
          Convert this Authentication manager into xml format
 boolean isValidAdminUser(VirtualDatabaseUser user)
          Checks whether this administrator user has been registered to this AuthenticationManager or not.
 boolean isValidVirtualLogin(java.lang.String vLogin)
          Checks whether a given virtual login has been registered to this AuthenticationManager or not.
 boolean isValidVirtualUser(VirtualDatabaseUser vUser)
          Checks whether a given virtual database user has been registered to this AuthenticationManager or not.
 void setAdminUser(VirtualDatabaseUser adminUser)
          Sets the administrator user.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

virtualLogins

private java.util.ArrayList virtualLogins
ArrayList of VirtualDatabaseUser objects.


realLogins

private java.util.HashMap realLogins
HashMap of HashMap of DatabaseBackendUser objects hashed by the backend name, hashed by their virtual database login. A virtual user can have several real logins, but has only one real login for a given backend.


adminUser

private VirtualDatabaseUser adminUser
Administrator user.

Constructor Detail

AuthenticationManager

public AuthenticationManager()
Creates a new AuthenticationManager instance.

Method Detail

isValidAdminUser

public boolean isValidAdminUser(VirtualDatabaseUser user)
Checks whether this administrator user has been registered to this AuthenticationManager or not. Returns false if no admin user has been set.

Parameters:
user - administrator user login/password to check.
Returns:
true if it matches the registered admin user.

isValidVirtualUser

public boolean isValidVirtualUser(VirtualDatabaseUser vUser)
Checks whether a given virtual database user has been registered to this AuthenticationManager or not.

Parameters:
vUser - the virtual database user.
Returns:
true if the user login/password is valid.

isValidVirtualLogin

public boolean isValidVirtualLogin(java.lang.String vLogin)
Checks whether a given virtual login has been registered to this AuthenticationManager or not.

Parameters:
vLogin - the virtual database login.
Returns:
true if the virtual database login is valid.

setAdminUser

public void setAdminUser(VirtualDatabaseUser adminUser)
Sets the administrator user.

Parameters:
adminUser - the administor user to set.

addVirtualUser

public void addVirtualUser(VirtualDatabaseUser vUser)
Registers a new virtual database user.

Parameters:
vUser - the VirtualDatabaseUser to register.

addRealUser

public void addRealUser(java.lang.String vLogin,
                        DatabaseBackendUser rUser)
                 throws AuthenticationManagerException
Associates a new database backend user to a virtual database login.

Parameters:
vLogin - the virtual database login.
rUser - the database backend user to add.
Throws:
AuthenticationManagerException - if a real user already exists for this backend.

getDatabaseBackendUser

public DatabaseBackendUser getDatabaseBackendUser(java.lang.String vLogin,
                                                  java.lang.String backendName)
Gets the DatabaseBackendUser given a virtual database login and a database backend logical name.

Parameters:
vLogin - virtual database login.
backendName - database backend logical name.
Returns:
a DatabaseBackendUser value or null if not found.

getXmlInformation

public java.lang.String getXmlInformation()
Convert this Authentication manager into xml format

Returns:
xml formatted string

getInformation

public java.lang.String getInformation()
Method for debugging.

Returns:
a String value.


Copyright © 2002, 2003 - ObjectWeb Consortium - All Rights Reserved.