version 1.1.2.1, 2001/12/01 02:48:16
|
version 1.5, 2002/04/04 00:34:22
|
|
|
// | // |
UserManager::UserManager(CIMRepository* repository) | UserManager::UserManager(CIMRepository* repository) |
{ | { |
const char METHOD_NAME[] = "UserManager::UserManager"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::UserManager"); |
|
|
PEG_FUNC_ENTER(TRC_USER_MANAGER, METHOD_NAME); |
|
| |
try | try |
{ | { |
|
|
delete _authHandler; | delete _authHandler; |
} | } |
| |
PEG_FUNC_EXIT(TRC_USER_MANAGER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
| |
PEG_FUNC_EXIT(TRC_USER_MANAGER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
// | // |
|
|
// | // |
UserManager::~UserManager() | UserManager::~UserManager() |
{ | { |
const char METHOD_NAME[] = "UserManager::~UserManager"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::~UserManager"); |
|
|
PEG_FUNC_ENTER(TRC_USER_MANAGER, METHOD_NAME); |
|
| |
|
if (_userFileHandler) |
|
{ |
delete _userFileHandler; | delete _userFileHandler; |
|
} |
|
if (_authHandler) |
|
{ |
delete _authHandler; | delete _authHandler; |
|
} |
| |
PEG_FUNC_EXIT(TRC_USER_MANAGER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
} | } |
| |
// | // |
|
|
// | // |
UserManager* UserManager::getInstance(CIMRepository* repository) | UserManager* UserManager::getInstance(CIMRepository* repository) |
{ | { |
const char METHOD_NAME[] = "UserManager::getInstance"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::getInstance"); |
| |
PEG_FUNC_ENTER(TRC_USER_MANAGER, METHOD_NAME); |
if (!_instance && !repository) |
|
{ |
|
PEG_METHOD_EXIT(); |
|
throw CannotCreateUserManagerInstance(); |
|
} |
| |
if (!_instance && repository) |
if (!_instance) |
{ | { |
_instance = new UserManager(repository); | _instance = new UserManager(repository); |
} | } |
| |
PEG_FUNC_EXIT(TRC_USER_MANAGER, METHOD_NAME); |
PEG_METHOD_EXIT(); |
| |
return _instance; | return _instance; |
} | } |
|
|
// | // |
void UserManager::addUser(const String& userName, const String& password) | void UserManager::addUser(const String& userName, const String& password) |
{ | { |
|
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::addUser"); |
const char METHOD_NAME[] = "UserManager::addUser"; |
|
|
|
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
// | // |
// Check if the user is a valid system user | // Check if the user is a valid system user |
|
|
ArrayDestroyer<char> un(userName.allocateCString()); | ArrayDestroyer<char> un(userName.allocateCString()); |
if ( !System::isSystemUser( un.getPointer() ) ) | if ( !System::isSystemUser( un.getPointer() ) ) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw InvalidSystemUser(userName); | throw InvalidSystemUser(userName); |
} | } |
| |
|
|
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
| |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
} | } |
| |
// | // |
|
|
const String& password, | const String& password, |
const String& newPassword ) | const String& newPassword ) |
{ | { |
const char METHOD_NAME[] = "UserManager::modifyUser"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::modifyUser"); |
|
|
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
try | try |
{ | { |
|
|
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
} | } |
| |
// | // |
|
|
// | // |
void UserManager::removeUser(const String& userName) | void UserManager::removeUser(const String& userName) |
{ | { |
const char METHOD_NAME[] = "UserManager::removeUser"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::removeUser"); |
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
try | try |
{ | { |
_userFileHandler->removeUserEntry(userName); | _userFileHandler->removeUserEntry(userName); |
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
| |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
} | } |
| |
| |
|
|
// | // |
void UserManager::getAllUserNames(Array<String>& userNames) | void UserManager::getAllUserNames(Array<String>& userNames) |
{ | { |
const char METHOD_NAME[] = "UserManager::getAllUserNames"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::getAllUserNames"); |
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
try | try |
{ | { |
_userFileHandler->getAllUserNames( userNames ); | _userFileHandler->getAllUserNames( userNames ); |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
throw e; | throw e; |
} | } |
| |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
} | } |
| |
// | // |
|
|
// | // |
Boolean UserManager::verifyCIMUser (const String& userName) | Boolean UserManager::verifyCIMUser (const String& userName) |
{ | { |
const char METHOD_NAME[] = "UserManager::verifyCIMUser"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::verifyCIMUser"); |
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
try | try |
{ | { |
if ( _userFileHandler->verifyCIMUser( userName )) | if ( _userFileHandler->verifyCIMUser( userName )) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return true; | return true; |
} | } |
else | else |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return false; | return false; |
} | } |
} | } |
|
catch (InvalidUser& iu) |
|
{ |
|
PEG_METHOD_EXIT(); |
|
throw iu; |
|
} |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
} | } |
|
|
const String& userName, | const String& userName, |
const String& password) | const String& password) |
{ | { |
const char METHOD_NAME[] = "UserManager::verifyCIMUserPassword"; |
PEG_METHOD_ENTER(TRC_USER_MANAGER, "UserManager::verifyCIMUserPassword"); |
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
try | try |
{ | { |
if ( _userFileHandler->verifyCIMUserPassword( userName, password )) | if ( _userFileHandler->verifyCIMUserPassword( userName, password )) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return true; | return true; |
} | } |
else | else |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return false; | return false; |
} | } |
} | } |
|
catch (InvalidUser& iu) |
|
{ |
|
PEG_METHOD_EXIT(); |
|
throw iu; |
|
} |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
} | } |
|
|
// | // |
Boolean UserManager::verifyNamespace( const String& myNamespace ) | Boolean UserManager::verifyNamespace( const String& myNamespace ) |
{ | { |
const char METHOD_NAME[] = "UserManager::verifyNamespace"; |
PEG_METHOD_ENTER(TRC_AUTHORIZATION, "UserManager::verifyNamespace"); |
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
try | try |
{ | { |
if ( _authHandler->verifyNamespace( myNamespace )) | if ( _authHandler->verifyNamespace( myNamespace )) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return true; | return true; |
} | } |
else | else |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return false; | return false; |
} | } |
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
} | } |
|
|
const String& nameSpace, | const String& nameSpace, |
const String& cimMethodName) | const String& cimMethodName) |
{ | { |
const char METHOD_NAME[] = "UserManager::verifyAuthorization"; |
PEG_METHOD_ENTER(TRC_AUTHORIZATION, "UserManager::verifyAuthorization"); |
PEG_FUNC_ENTER( TRC_USER_MANAGER, METHOD_NAME ); |
|
| |
try | try |
{ | { |
if ( _authHandler->verifyAuthorization( | if ( _authHandler->verifyAuthorization( |
userName, nameSpace, cimMethodName ) ) | userName, nameSpace, cimMethodName ) ) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return true; | return true; |
} | } |
else | else |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
return false; | return false; |
} | } |
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
PEG_FUNC_EXIT( TRC_USER_MANAGER, METHOD_NAME ); |
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
} | } |
|
|
const String& myNamespace, | const String& myNamespace, |
const String& auth) | const String& auth) |
{ | { |
|
PEG_METHOD_ENTER(TRC_AUTHORIZATION, "UserManager::setAuthorization"); |
|
|
try | try |
{ | { |
_authHandler->setAuthorization( userName, myNamespace, auth ); | _authHandler->setAuthorization( userName, myNamespace, auth ); |
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
|
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
|
|
|
PEG_METHOD_EXIT(); |
} | } |
| |
// | // |
|
|
const String& userName, | const String& userName, |
const String& myNamespace) | const String& myNamespace) |
{ | { |
|
PEG_METHOD_ENTER(TRC_AUTHORIZATION, "UserManager::removeAuthorization"); |
|
|
try | try |
{ | { |
_authHandler->removeAuthorization( userName, myNamespace); | _authHandler->removeAuthorization( userName, myNamespace); |
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
|
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
|
|
|
PEG_METHOD_EXIT(); |
} | } |
| |
| |
|
|
const String& userName, | const String& userName, |
const String& myNamespace) | const String& myNamespace) |
{ | { |
|
PEG_METHOD_ENTER(TRC_AUTHORIZATION, "UserManager::getAuthorization"); |
|
|
String auth = String::EMPTY; | String auth = String::EMPTY; |
| |
try | try |
|
|
} | } |
catch (Exception& e) | catch (Exception& e) |
{ | { |
|
PEG_METHOD_EXIT(); |
throw e; | throw e; |
} | } |
| |
|
PEG_METHOD_EXIT(); |
|
|
return auth; | return auth; |
} | } |
| |