Index

DKUserMgmtFed

Purpose:

DKUserMgmtFed represents and processes datastore user management functions.

An instance of DKUserMgmtFed is created as part of a chain of instantiations when you create an instance of DKDatastoreFed. Use the userManagement() function of DKDatastoreAdminFed to get the DKUserMgmtFed instance. The following example illustrates getting the instance:

     DKDatastoreFed dsF;
     DKDatastoreDefFed* dsDef = 0;
     DKDatastoreAdminFed* dsAdmin = 0;
     DKUserMgmtFed* userMgmt = 0;
      ....      /* Connect to the datastore   */
     dsDef = (DKDatastoreDefFed*)dsF.datastoreDef();
     dsAdmin = (DKDatastoreAdminFed*)dsDef->datastoreAdmin();
     userMgmt = (DKUserMgmtFed*)dsAdmin->userManagement();

Class summary:

class DKEXPORT DKUserMgmtFed : public dkUserManagement
{
public:
   DKUserMgmtFed (dkDatastore *ds);
   virtual ~DKUserMgmtFed ();
 
   virtual void addUser (const char* userId, 
                         const char* password);
   virtual void addUser (const char* userId, 
                         const char* password, 
                         dkProfile *profile);
   virtual void addUser (DKUserDataFed& sd);
   virtual DKUserDataFed* getUser (const char* name);
   virtual void delUser (const char* userId);
   virtual void updateUser (DKUserDataFed& sd);
   virtual void removeUser (const char* name);
   virtual DKString* listUsers (long& arraySize);
   virtual void addUserGroup (const char* groupName);
   virtual void addUserGroup (const char* groupName, 
                              dkProfile *groupProfile);
   virtual void addUserGroup(DKUserGroupDataFed& sd);
   virtual DKString* listUserGroups (long& arraySize);
   virtual void delUserGroup (const char* userGrp);
   virtual DKUserGroupDataFed* getUserGroup (const char* name);
   virtual void updateUserGroup (DKUserGroupDataFed& sd);
   virtual void removeUserGroup (const char* name);
   virtual DKString* listGroupUsers (const char* grpName,
                             long& arraySize);
      virtual void addToGroup (const char* group, 
                            const char* userId);
   virtual void removeFromGroup (const char* group, 
                                 const char* userId);
   virtual void addUsersToGroup (const char* grpName, 
                                 const char** arUser,
                                 long numUser);
   virtual void removeUsersFromGroup (const char* grpName, 
                              const char** arUser,
                              long numUser);
   virtual long checkUser (const char* name, 
                   const char* pwd);
   virtual int getAccessLevel (const char* name);
   virtual void changePassword (const char* userId, 
                                const char* oldPwd, 
                                const char* newPwd);
   virtual void changePassword (const char* userId, 
                        const char* newPwd);
   virtual void changePassword (const char* newPwd);
   virtual void addMapUser (DKUserMapDataFed& md);
   virtual void updateMapUser (DKUserMapDataFed& md);
   virtual void removeMapUser (const char* userName, 
                       const char* srvName);
   virtual void removeMapUser (const char* srvName);
   virtual dkCollection* listMapUsers ();
   virtual dkCollection* listMapUsers (const char* user);
   virtual void addOwnMapUser (DKUserMapDataFed& md);
   virtual void updateOwnMapUser (DKUserMapDataFed& md);
   virtual void changeMapPassword (const char* server, 
                           const char* oldPwd,
                           const char* newPwd);
   virtual void changeMapPassword (const char* server, 
                           const char* newPwd);
   virtual void setUserMappingEnable (DKBoolean b);
   virtual DKBoolean isUserMappingEnable ();
};

Members:

Constructors and destructor
   DKUserMgmtFed (dkDatastore *ds);
   virtual ~DKUserMgmtFed ();
 

Member functions

addUser
The first form adds a user to the database. The second form creates a new user ID with default information as a regular user. The third form creates a new user ID according to a given profile. This function is no longer supported because the profile contains datastore specific information about the user. All three forms are administrator only functions.
   virtual void addUser (const char* userId, const char* password);
   virtual void addUser (const char* userId, const char* password, dkProfile *profile);
   void addUser (DKUserDataFed& sd);
 

getUser
Retrieves the user by user name. The password is not retrieved.
DKUserDataFed* getUser (const char* name);

delUser
Deletes a user id from the system. This is an administrator only function. This is same as removeUser.
virtual void delUser (const char* userId);

updateUser
Updates the user. This is an administrator only function. Use the changePassword function to update the password.
void updateUser (DKUserDataFed& sd);

removeUser
Removes the uesr by name. (This is an administrator only function.)
void removeUser (const char* name);

listUsers
Lists users defined in the system.
virtual DKString* listUsers (long& arraySize);

addUserGroup
The first form adds a user group. The second form creates a new user group with default information. The third form creates a new user group according to a given profile. This function is no longer supported because the profile contains datastore specific information about the user group. It may also include a privilege set or other relevant information. All three forms are administrator only functions.
   virtual void addUserGroup (const char* groupName);
   virtual void addUserGroup (const char* groupName, dkProfile *groupProfile);
   void addUserGroup (DKUserGroupDataFed& sd);

listUserGroups
Lists user groups defined in the system.
virtual DKString* listUserGroups (long& arraySize);

delUserGroup
Deletes a user group from the system. This is same as removeUserGroup.
void delUserGroup (const char* userGrp);

getUserGroup
Gets a user group by name.
DKUserGroupDataFed* getUserGroup (const char* name);

updateUserGroup
Updates a user group. This is an administrator only function.
void updateUserGroup (DKUserGroupDataFed& sd);

removeUserGroup
Removes a user group. This is an administrator only function.
void removeUserGroup (const char* name);

listGroupUsers
Lists users belonging to a group.
DKString* listGroupUsers (const char* grpName, long& arraySize);

addToGroup
Adds a user to a user group. This is an administrator only function.
virtual void addToGroup (const char* group, const char* userId);

removeFromGroup
Removes a user from a user group. This is an administrator only function.
virtual void removeFromGroup (const char* group, const char* userId);

addUsersToGroup
Adds an array of users to group. The user array can have one or more members. This is an administrator only function.
void addUsersToGroup (const char* grpName, const char** arUser, long numUser);

removeUsersFromGroup
Removes an array of users from a group. The user array can have one or more members. This is an administrator only function.
void removeUsersFromGroup (const char* grpName, const char** arUser, long numUser);

checkUser
Checks if a user is defined in the database and retrieves its access priviledges. For a regular user it returns FALSE. For an administrative user it returns TRUE.
long checkUser (const char* name, const char* pwd);

getAccessLevel
Gets the access level of a user.
int getAccessLevel (const char* name);

changePassword
The first two forms change the password of a given user ID. The third form changes the password of the logged-in user. All three forms are administrator only functions.
   virtual void changePassword (const char* userId, const char* oldPwd, const char* newPwd);
   void changePassword (const char* userId, const char* newPwd);
   void changePassword (const char* newPwd);

addMapUser
Adds a mapped user to the database. This is an administrator only function.
void addMapUser (DKUserMapDataFed& md);

updateMapUser
Updates the mapped user. The federated user name and server name cannot be changed. The password field will also be updated.This is an administrator only function.
void updateMapUser (DKUserMapDataFed& md);

removeMapUser
Removes the user mapping by by user and server name. The second form removes the user mapping by mapped-server name for the user currently logged in. Both forms are administrator only functions.
   void removeMapUser (const char* userName, const char* srvName);
   void removeMapUser (const char* srvName);

listMapUsers
The first form lists the mapped users belong to the federated user. The second form lists the mapped users (with server and decrypted password information) belonging to the federated user currently logged on.
   dkCollection* listMapUsers (const char* user);
   dkCollection* listMapUsers ();

addOwnMapUser
Adds a mapped user for the user currently logged on to the database.
void addOwnMapUser (DKUserMapDataFed& md);

updateOwnMapUser
Updates the mapped user. The server name cannot be changed. The password field will also be updated.
void updateOwnMapUser (DKUserMapDataFed& md);

changeMapPassword
Changes the mapped password for the user currently logged on.
   void changeMapPassword (const char* server,const char* newPwd);
   void changeMapPassword (const char* server, const char* oldPwd,const char* newPwd);

setUserMappingEnable
Sets to enable user mapping.
virtual void setUserMappingEnable (DKBoolean b);

isUserMappingEnable
Checks if user mapping is enabled.
virtual DKBoolean isUserMappingEnable ();

(c) Copyright International Business Machines Corporation 1996, 2003. IBM Corp. All rights reserved.