Main Page | Packages | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | Related Pages

org.objectweb.cjdbc.controller.authentication.AuthenticationManager Class Reference

List of all members.

Public Member Functions

 AuthenticationManager ()
boolean isValidAdminUser (AdminUser user)
boolean isValidVirtualUser (VirtualDatabaseUser vUser)
boolean isValidVirtualLogin (String vLogin)
synchronized void addVirtualUser (VirtualDatabaseUser vUser)
void addRealUser (String vLogin, DatabaseBackendUser rUser) throws AuthenticationManagerException
DatabaseBackendUser getDatabaseBackendUser (String vLogin, String backendName)
HashMap getRealLogins ()
ArrayList getVirtualLogins ()
String getXml ()
void addAdminUser (AdminUser user)
boolean removeAdminUser (AdminUser user)
ArrayList getAdminUsers ()

Detailed Description

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

Author:
Emmanuel Cecchet

Mathieu Peltier

Nicolas Modrzyk

Version:
1.0

Definition at line 47 of file AuthenticationManager.java.


Constructor & Destructor Documentation

org.objectweb.cjdbc.controller.authentication.AuthenticationManager.AuthenticationManager  ) 
 

Creates a new AuthenticationManager instance.

Definition at line 77 of file AuthenticationManager.java.

00078   {
00079     virtualLogins = new ArrayList();
00080     adminUsers = new ArrayList();
00081     realLogins = new HashMap();
00082   }


Member Function Documentation

void org.objectweb.cjdbc.controller.authentication.AuthenticationManager.addAdminUser AdminUser  user  ) 
 

Add an admin user for this authentication manager.

Parameters:
user the AdminUser to add to this AuthenticationManager

Definition at line 266 of file AuthenticationManager.java.

00267   {
00268     adminUsers.add(user);
00269   }

void org.objectweb.cjdbc.controller.authentication.AuthenticationManager.addRealUser 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.
Exceptions:
AuthenticationManagerException if a real user already exists for this backend.

Definition at line 165 of file AuthenticationManager.java.

References org.objectweb.cjdbc.common.users.AbstractDatabaseUser.getLogin().

00167   {
00168     HashMap list = (HashMap) realLogins.get(vLogin);
00169     if (list == null)
00170     {
00171       list = new HashMap();
00172       list.put(rUser.getBackendName(), rUser);
00173       realLogins.put(vLogin, list);
00174     }
00175     else
00176     {
00177       DatabaseBackendUser u = (DatabaseBackendUser) list.get(rUser
00178           .getBackendName());
00179       if (u != null)
00180         throw new AuthenticationManagerException(
00181             Translate.get("authentication.failed.add.user.already.exists",
00182                 new String[]{rUser.getLogin(), vLogin, rUser.getBackendName(),
00183                     u.getLogin()}));
00184       list.put(rUser.getBackendName(), rUser);
00185     }
00186   }

synchronized void org.objectweb.cjdbc.controller.authentication.AuthenticationManager.addVirtualUser VirtualDatabaseUser  vUser  ) 
 

Registers a new virtual database user.

Parameters:
vUser the VirtualDatabaseUser to register.

Definition at line 152 of file AuthenticationManager.java.

00153   {
00154     virtualLogins.add(vUser);
00155   }

ArrayList org.objectweb.cjdbc.controller.authentication.AuthenticationManager.getAdminUsers  ) 
 

Returns:
Returns the adminUsers.

Definition at line 285 of file AuthenticationManager.java.

00286   {
00287     return adminUsers;
00288   }

DatabaseBackendUser org.objectweb.cjdbc.controller.authentication.AuthenticationManager.getDatabaseBackendUser String  vLogin,
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.

Definition at line 197 of file AuthenticationManager.java.

00199   {
00200     Object list = realLogins.get(vLogin);
00201     if (list == null)
00202       return null;
00203     else
00204       return (DatabaseBackendUser) ((HashMap) list).get(backendName);
00205   }

HashMap org.objectweb.cjdbc.controller.authentication.AuthenticationManager.getRealLogins  ) 
 

Returns:
Returns the realLogins.

Definition at line 217 of file AuthenticationManager.java.

00218   {
00219     return realLogins;
00220   }

ArrayList org.objectweb.cjdbc.controller.authentication.AuthenticationManager.getVirtualLogins  ) 
 

Returns:
Returns the virtualLogins.

Definition at line 225 of file AuthenticationManager.java.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseDynamicMetaData.getTablePrivileges(), org.objectweb.cjdbc.controller.virtualdatabase.protocol.VirtualDatabaseConfiguration.isCompatible(), and org.objectweb.cjdbc.controller.virtualdatabase.protocol.VirtualDatabaseConfiguration.VirtualDatabaseConfiguration().

00226   {
00227     return virtualLogins;
00228   }

String org.objectweb.cjdbc.controller.authentication.AuthenticationManager.getXml  ) 
 

Format to xml

Returns:
xml formatted representation

Definition at line 238 of file AuthenticationManager.java.

References org.objectweb.cjdbc.common.users.VirtualDatabaseUser.getXml(), and org.objectweb.cjdbc.common.users.AdminUser.getXml().

00239   {
00240     StringBuffer info = new StringBuffer();
00241     info.append("<" + DatabasesXmlTags.ELT_AuthenticationManager + ">");
00242     info.append("<" + DatabasesXmlTags.ELT_Admin + ">");
00243     for (int i = 0; i < adminUsers.size(); i++)
00244     {
00245       AdminUser vu = (AdminUser) adminUsers.get(i);
00246       info.append(vu.getXml());          
00247     }
00248     info.append("</" + DatabasesXmlTags.ELT_Admin + ">");
00249 
00250     info.append("<" + DatabasesXmlTags.ELT_VirtualUsers + ">");
00251     for (int i = 0; i < virtualLogins.size(); i++)
00252     {
00253       VirtualDatabaseUser vu = (VirtualDatabaseUser) virtualLogins.get(i);
00254       info.append(vu.getXml());
00255     }
00256     info.append("</" + DatabasesXmlTags.ELT_VirtualUsers + ">");
00257     info.append("</" + DatabasesXmlTags.ELT_AuthenticationManager + ">");
00258     return info.toString();
00259   }

boolean org.objectweb.cjdbc.controller.authentication.AuthenticationManager.isValidAdminUser AdminUser  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.

Definition at line 95 of file AuthenticationManager.java.

00096   {
00097     return adminUsers.contains(user);
00098   }

boolean org.objectweb.cjdbc.controller.authentication.AuthenticationManager.isValidVirtualLogin 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.

Definition at line 119 of file AuthenticationManager.java.

References org.objectweb.cjdbc.common.users.AbstractDatabaseUser.equals(), and org.objectweb.cjdbc.common.users.AbstractDatabaseUser.getLogin().

00120   {
00121     Iterator iter = virtualLogins.iterator();
00122     VirtualDatabaseUser u;
00123     while (iter.hasNext())
00124     {
00125       u = (VirtualDatabaseUser) iter.next();
00126       if (u.getLogin().equals(vLogin))
00127       {
00128         return true;
00129       }
00130     }
00131     return false;
00132   }

boolean org.objectweb.cjdbc.controller.authentication.AuthenticationManager.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.

Definition at line 107 of file AuthenticationManager.java.

Referenced by org.objectweb.cjdbc.controller.virtualdatabase.VirtualDatabaseWorkerThread.run().

00108   {
00109     return virtualLogins.contains(vUser);
00110   }

boolean org.objectweb.cjdbc.controller.authentication.AuthenticationManager.removeAdminUser AdminUser  user  ) 
 

Remove an admin user from the admin list

Parameters:
user the admin to remove
Returns:
true if was removed.

Definition at line 277 of file AuthenticationManager.java.

00278   {
00279     return adminUsers.remove(user);
00280   }


The documentation for this class was generated from the following file:
Generated on Mon Apr 11 22:03:24 2005 for C-JDBC by  doxygen 1.3.9.1